python爬取百度迁徙动态图_python爬虫动态爬取百度迁徙
#1.模拟浏览器发送请求
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('./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('./move_in_data.xlsx')
python爬取百度迁徙动态图_python爬虫动态爬取百度迁徙相关推荐
- python爬取多页_Python 爬虫 2 爬取多页网页
本文内容: Requests.get 爬取多个页码的网页 例:爬取极客学院课程列表 爬虫步骤 打开目标网页,先查看网页源代码 get网页源码 找到想要的内容,找到规律,用正则表达式匹配,存储结果 Re ...
- python 网上爬取数据源码_Python爬虫经常爬不到数据,或许你可以看一下小编的这篇文章...
1.最简单的Python爬虫 最简单的Python爬虫莫过于直接使用urllib.request.urlopen(url=某网站)或者requests.get(url=某网站)例如:爬取漫客栈里面的漫 ...
- python访问多个网页_Python 爬虫 2 爬取多页网页
本文内容: Requests.get 爬取多个页码的网页 例:爬取极客学院课程列表 爬虫步骤 打开目标网页,先查看网页源代码 get网页源码 找到想要的内容,找到规律,用正则表达式匹配,存储结果 Re ...
- python爬取网页停止_Python爬虫之爬取静态网页
所谓网络爬虫,通俗的讲,就是通过向我们需要的URL发出http请求,获取该URL对应的http报文主体内容,之后提取该报文主体中我们所需要的信息.所以,想要学习python爬虫,需要具备一些http的 ...
- python爬取豆瓣小组_Python 爬虫实例+爬取豆瓣小组 + wordcloud 制作词云图
目标 利用PYTHON爬取如下图中所有回答的内容,并且制作词云图. 用到的库 import requests # import json from PIL import Image from pyqu ...
- python爬虫爬取网页图片_Python爬虫:爬取网页图片
先分析查找要爬取图片的路径 在浏览器F12 审查元素 整体实现代码 # -- coding:UTF-8 -- import requests from bs4 import BeautifulSoup ...
- python爬取收费漫画_Python爬虫,爬取腾讯漫画实战
先上个爬取的结果图 最后的结果为每部漫画按章节保存 运行环境 ide vs2019 python3.7 chrome.chromedriver chrome和chromedriver的版本需要相互对应 ...
- python爬取收费漫画_python爬取收费漫画_Python爬虫,爬取腾讯漫画实战
先上个爬取的结果图 最后的结果为每部漫画按章节保存 运行环境 ide vs2019 python3.7 chrome.chromedriver chrome和chromedriver的版本需要相互对应 ...
- python爬虫爬取网页图片_Python爬虫实现抓取网页图片
在逛贴吧的时候看见贴吧里面漂亮的图片,或有漂亮妹纸的图片,是不是想保存下来? 但是有的网页的图片比较多,一个个保存下来比较麻烦. 最近在学Python,所以用Python来抓取网页内容还是比较方便的: ...
- python爬取网易藏宝阁_Python爬虫:爬取阴阳师的式神立绘
爬虫的而基本步骤是什么嘞? 1.观察分析目标网页 2.解析生成图片下地址 3.下载图片 1.观察目标网站进入调试界面 按F12进入调试界面,然后按F5刷新界面.然后我们就能看到网站上的各种资源和代码了 ...
最新文章
- CSharpGL(5)解析3DS文件并用CSharpGL渲染
- 搭建QT和VS2010集成开发环境
- 500只产品汪周末齐聚宇宙中心五道口,这里发生了什么?
- HTML5 服务器推送事件(Server-sent Events)实战开发
- 处理字符串_12_按照指定的位置截取字符
- 国家发钱了!研究生补贴一览表!
- sqlite 数据类型 全面
- CodeForces - 444C DZY Loves Colors(线段树+剪枝)
- 苹果7plus专用计算机,iphone7plus怎么用 iphone7plus使用技巧【详解】
- 批处理定时执行任务_如何让你的西门子Wincc V14,每天定时自动执行某任务
- 开课吧:哪些人适合转行做Web前端?
- linux安装CAS认证服务器
- java 机器学习资源整理
- Python应用|TOPSIS综合评价法与案例分析
- git clone加速(实测推荐)
- Jacobi的GPU并行迭代 OpenACC
- 神奇的口袋--刚好装满背包的方法总数
- C语言指针相关——经典面试题
- 对于搞钱我们是认真的
- Aspose.Words 22.11.0 Crack | Aspose.Words