#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爬虫动态爬取百度迁徙相关推荐

  1. python爬取多页_Python 爬虫 2 爬取多页网页

    本文内容: Requests.get 爬取多个页码的网页 例:爬取极客学院课程列表 爬虫步骤 打开目标网页,先查看网页源代码 get网页源码 找到想要的内容,找到规律,用正则表达式匹配,存储结果 Re ...

  2. python 网上爬取数据源码_Python爬虫经常爬不到数据,或许你可以看一下小编的这篇文章...

    1.最简单的Python爬虫 最简单的Python爬虫莫过于直接使用urllib.request.urlopen(url=某网站)或者requests.get(url=某网站)例如:爬取漫客栈里面的漫 ...

  3. python访问多个网页_Python 爬虫 2 爬取多页网页

    本文内容: Requests.get 爬取多个页码的网页 例:爬取极客学院课程列表 爬虫步骤 打开目标网页,先查看网页源代码 get网页源码 找到想要的内容,找到规律,用正则表达式匹配,存储结果 Re ...

  4. python爬取网页停止_Python爬虫之爬取静态网页

    所谓网络爬虫,通俗的讲,就是通过向我们需要的URL发出http请求,获取该URL对应的http报文主体内容,之后提取该报文主体中我们所需要的信息.所以,想要学习python爬虫,需要具备一些http的 ...

  5. python爬取豆瓣小组_Python 爬虫实例+爬取豆瓣小组 + wordcloud 制作词云图

    目标 利用PYTHON爬取如下图中所有回答的内容,并且制作词云图. 用到的库 import requests # import json from PIL import Image from pyqu ...

  6. python爬虫爬取网页图片_Python爬虫:爬取网页图片

    先分析查找要爬取图片的路径 在浏览器F12 审查元素 整体实现代码 # -- coding:UTF-8 -- import requests from bs4 import BeautifulSoup ...

  7. python爬取收费漫画_Python爬虫,爬取腾讯漫画实战

    先上个爬取的结果图 最后的结果为每部漫画按章节保存 运行环境 ide vs2019 python3.7 chrome.chromedriver chrome和chromedriver的版本需要相互对应 ...

  8. python爬取收费漫画_python爬取收费漫画_Python爬虫,爬取腾讯漫画实战

    先上个爬取的结果图 最后的结果为每部漫画按章节保存 运行环境 ide vs2019 python3.7 chrome.chromedriver chrome和chromedriver的版本需要相互对应 ...

  9. python爬虫爬取网页图片_Python爬虫实现抓取网页图片

    在逛贴吧的时候看见贴吧里面漂亮的图片,或有漂亮妹纸的图片,是不是想保存下来? 但是有的网页的图片比较多,一个个保存下来比较麻烦. 最近在学Python,所以用Python来抓取网页内容还是比较方便的: ...

  10. python爬取网易藏宝阁_Python爬虫:爬取阴阳师的式神立绘

    爬虫的而基本步骤是什么嘞? 1.观察分析目标网页 2.解析生成图片下地址 3.下载图片 1.观察目标网站进入调试界面 按F12进入调试界面,然后按F5刷新界面.然后我们就能看到网站上的各种资源和代码了 ...

最新文章

  1. CSharpGL(5)解析3DS文件并用CSharpGL渲染
  2. 搭建QT和VS2010集成开发环境
  3. 500只产品汪周末齐聚宇宙中心五道口,这里发生了什么?
  4. HTML5 服务器推送事件(Server-sent Events)实战开发
  5. 处理字符串_12_按照指定的位置截取字符
  6. 国家发钱了!研究生补贴一览表!
  7. sqlite 数据类型 全面
  8. CodeForces - 444C DZY Loves Colors(线段树+剪枝)
  9. 苹果7plus专用计算机,iphone7plus怎么用 iphone7plus使用技巧【详解】
  10. 批处理定时执行任务_如何让你的西门子Wincc V14,每天定时自动执行某任务
  11. 开课吧:哪些人适合转行做Web前端?
  12. linux安装CAS认证服务器
  13. java 机器学习资源整理
  14. Python应用|TOPSIS综合评价法与案例分析
  15. git clone加速(实测推荐)
  16. Jacobi的GPU并行迭代 OpenACC
  17. 神奇的口袋--刚好装满背包的方法总数
  18. C语言指针相关——经典面试题
  19. 对于搞钱我们是认真的
  20. Aspose.Words 22.11.0 Crack | Aspose.Words

热门文章

  1. Hive-3.1.3安装配置运行
  2. 迅为IMX6ULL开发板Linux下电容触摸屏实验-实验程序编写
  3. 百度地图 城市中心点坐标
  4. python 3d游戏引擎哪个好_五大开源游戏引擎介绍
  5. python飞机大战源码以及素材资源
  6. Android反编译,看这一篇就够了
  7. 交换机设备登录账号权限1_交换机怎么设置 交换机配置方法【详解】
  8. 数字图像处理第三版(冈萨雷斯)笔记,2020
  9. 犀牛插件开发-插件安装器制作-rhino插件
  10. Python解微分方程(验证数学建模第五版火箭发射模型)