推广 热搜:   公司  中国  行业  快速  企业  设备  上海  未来  技术 

python爬取百度迁徙数据_python爬虫-动态爬取百度迁徙

   日期:2025-01-02     移动:http://www78564.xrbh.cn/mobile/quote/28703.html

#1.模拟浏览器发送请求

python爬取百度迁徙数据_python爬虫-动态爬取百度迁徙

importrequestsimportjsonimportpandas as pd

city_name=[]

province_name=[]

value=[]

url= 'https://huiyan.baidu.com/migration/cityrank.jsonp?dt=country&id=0&type=move_in&date=20200315&callback=jsonp_1590404076900_7186798'rq=requests.get(url)

rq.status_code

html= rq.content.decode('utf-8')#2.从html中提取信息#字符串预处理

html1 = html[28:-1]

data= json.loads(html1)['data']['list']for i inrange(len(data)):

city_name.append(data[i]['city_name']) #赋值给一个列表

province_name.append(data[i]['province_name'])

value.append(data[i]['value'])#3.数据的本地存储

move_in_data =pd.Dataframe({'迁入城市':city_name,'迁入省份':province_name,'比例':value

})

move_in_data.to_excel('https://blog.csdn.net/weixin_39901404/article/details/move_in_data.xlsx')

一、分析网站

首先我们来分析网站,动态爬取与静态爬取有些不同,寻找的数据就不在前端上面找了,而是在加载的文件中寻找

打开网页F12,一般我们先看js文件,如果没有,看看XHR等其他文件。按size排序,从大到小,查找数据

点击Preview选项,一个个查找,可以看到这里与前端显示的数据是一样的,接下来我们就要爬取这个数据

二、爬取数据

1、模拟浏览器发送数据

importrequests

url= 'https://huiyan.baidu.com/migration/cityrank.jsonp?dt=country&id=0&type=move_in&date=20200315&callback=jsonp_1590404076900_7186798'rq=requests.get(url)

rq.status_code

html= rq.content.decode('utf-8')

当我们查看rq.status_code状态码时,返回为200,则说明没有设置反爬机制,不用设置header,若设置了反爬机制,状态码为418,就要像上一篇一样,设置header

此刻查看html,已经爬取下来了

2、提取html中数据

html1 = html[28:-1]

data= json.loads(html1)['data']['list']for i inrange(len(data)):

city_name.append(data[i]['city_name']) #赋值给一个列表,.append表示追加

province_name.append(data[i]['province_name'])

value.append(data[i]['value'])

我们想要的是data里面的数据,那么首先就要截取字典,{}里面的东西

有一个 方法是直接截取

html1 = html[28:-2]

28是第28位,-2是倒数二位,意思就是只要从48位到-2位之间的内容

输出html1为(注意{}的首位闭合

然后进行解析

data = json.loads(html1)

json.load(filename)

json.loads(string)

一个从文件加载,一个从内存加载

我们想要的是data里面的内容,可以直接

data = json.loads(html1)['data']

读取字典中第一个列表的字段

data['list'][0]['city_name']

3、将数据保存在本地

move_in_data =pd.Dataframe({'迁入城市':city_name,'迁入省份':province_name,'比例':value

})

move_in_data.to_excel('https://blog.csdn.net/weixin_39901404/article/details/move_in_data.xlsx')

本文地址:http://www78564.xrbh.cn/quote/28703.html    迅博思语 http://www78564.xrbh.cn/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


相关最新动态
推荐最新动态
点击排行
网站首页  |  二维码  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号