前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python爬虫 - 解决动态网页信息抓取问题

Python爬虫 - 解决动态网页信息抓取问题

作者头像
K同学啊
发布2020-07-30 15:10:51
1.9K0
发布2020-07-30 15:10:51
举报

作者:明天依旧可好 时间:2020年7月29日

写在前面:本文仅供参考学习之用,请勿用作其他用途。

1.嵌入式网页爬取 举例:最常见的分页式网页

在这里插入图片描述
在这里插入图片描述

这里我用天津市的信访页面来做示例,(地址:http://www.tj.gov.cn/zmhd/zmljl0524/wywtwqz/)。

右键打开源码找到iframe标签,拿出里面的src地址http://zm.tj.gov.cn/gov_open/question/zero/list8a.jsp

在这里插入图片描述
在这里插入图片描述

进入src地址中的页面后不要停留在首页,首页网址通常是比较特殊的,分析不出来规律,需要我们进入首页外的任一地址

在这里插入图片描述
在这里插入图片描述

进入第二页,我们便可以发现页面中的规律,仅仅只需要更换curpage后的数字就可以切换到不同的页面,这样一来,我们只需要一个循环就可以得到所有数据页面的地址,接下来发送get请求获取数据即可。

http://zm.tj.gov.cn/gov_open/question/zero/list8a.jsp?curpage=2&rows=15&deptId=1002000000000000

2.JS加载型网页抓取 举例:有些动态网页并没有采用网页嵌入的方式,而选择了JS加载

在这里插入图片描述
在这里插入图片描述

这里我举例的是北京市的信访页面(http://www.beijing.gov.cn/hudong/hdjl/com.web.search.replyMailList.flow) 我们会发现当选择不同页面时,网址并不会发生变化,这点和上面说的嵌入式页面一样。

在这里插入图片描述
在这里插入图片描述

右键打开源码,没有发现iframehtml等嵌入式页面的标致性标签,但是我们不难发现在放有数据的div中有一个id,这是JS加载处理的一个明显标识。现在进入控制台的Network

在这里插入图片描述
在这里插入图片描述

进行页面跳转(我跳转到了第3页),注意观察控制台左方新出现的文件JS,在里面找到加载新数据的JS文件,打开它会发现PageCond/begin: 18PageCond/length: 6类似的参数,很明显网站就是依据这个参数来加载相关数据的,将它随着post请求一下发送给网站,就可以得到我们想要的数据了。

代码语言:javascript
复制
payloadData ={
            "PageCond/begin": (i-1)*6,
            "PageCond/length": 6,
            "PageCond/isCount": "false",
            "keywords": "",
            "orgids": "",
            "startDat e": "",
            "endDate": "",
            "letterType": "",
            "letterStatue": ""}
dumpJsonData = json.dumps(payloadData)
headers = {"Host": "www.beijing.gov.cn",
           "Origin": "http://www.beijing.gov.cn",
           "Referer": "http://www.beijing.gov.cn/hudong/hdjl/",
           "User-Agent": str(UserAgent().random)#,
            }
req = requests.post(url,headers=headers,data=payloadData)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-07-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档