文章目录
前言
目前已是4月中旬,阿星有几位上海的老友,所以最近一直在关注yq~
出于程序猿的思维习惯,阿星就想到用Python爬虫来帮我快速汇总数据
废话不多说,开搞!开搞!!!
爬虫实战
工具准备
开发工具:pycharm
开发环境:python3.7, Windows10
使用工具包:requests,csv
效果展示
思路解析
首先爬虫的标准四个步骤:
①获取到数据的资源地址,注意切换我们需要的省份地点。我们当前获取的数据为动态数据信息,我们需要通过抓包的方式获取,在网页上鼠标右击点击检查,点击网络,在这里推荐大兄弟们使用谷歌浏览器
②获取到网页的资源地址之后我们通过代码发送请求,发送请求时需要注意,我们爬虫的核心是伪装成浏览器发送网络请求,在发送请求时需要带上请求头,用来伪装代码,发送请求所使用的库是requests
③我们所提取到的数据是json数据信息,需要转换成字典数据类型,我们需要的数据也是一些特定的数据,你可以直接选择全部提取下来,这里主要提取的是一些关键信息
④第四步将数据保存在csv的文件里
实现源码
import requests
import json
import csv
url = 'https://api.inews.扣扣.com/newsqa/v1/query/pubished/daily/list?province=%E4%B8%8A%E6%B5%B7&'
head = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36 Edg/92.0.902.62'
}
response = requests.get(url, headers=head).json()
data = []
with open('XXyq数据.csv', 'a+', newline='')as f:
filename = ["年份", "日期", "累计确诊", "死亡", "治愈", "相比昨日增加确诊数"]
writer = csv.DictWriter(f, fieldnames=filename)
writer.writerow({'年份': '年份', '日期': '日期', '累计确诊': '累计确诊', '死亡': '死亡', '治愈': '治愈',
'相比昨日增加确诊数': '相比昨日增加确诊数'})
for i in response['data']:
year = i['year']
date = i['date']
confirm = i['confirm']
dead = i['dead']
heal = i['heal']
newConfirm = i['newConfirm']
writer.writerow({'年份': year, '日期': date, '累计确诊': confirm, '死亡': dead, '治愈': heal,
'相比昨日增加确诊数': newConfirm})
print({'年份': year, '日期': date, '累计确诊': confirm, '死亡': dead, '治愈': heal,
'相比昨日增加确诊数': newConfirm})
总结
Python网络爬虫的学习,首先是打牢基础,然后就是大量的实战项目训练。所以,阿星这里也给大家整理了最新的Python爬虫学习和实战资料,适合对Python爬虫感兴趣的朋友们,可以戳我名片领取