在很多情况下我们编写爬虫程序都是直接去抓取静态网页的内容,也就是网络地址不会变化,直接通过链接就能够访问并且获取到数据的网页。而对于动态网页来说就不能够直接调用get或者post方法了,需要使用到一些其他方式,下文会有详细代码解析。
动态网页指的就是只变化网页的内容而不会变化网页地址的这种网站,因为它实际上是将所有的数据都保存在数据库之中,只有当网页根据点击的选项变化时才会去显示数据。而爬虫访问的时候网页数据还没有出来,这样就无法抓取到数据了。
1.那么为了能够爬取动态网页就要去分析它的执行逻辑,在动态网页之中按下F12就能打开开发者工具查看网页源代码以及所有执行的操作和数据变化。那么这时候就需要点击Netbook,然后在Headers请求头信息之中查看Form Data属性的值,这个里面的值就是网页跳转时所传递的参数。
2.知道了网页跳转时所传递的参数就能够在构造爬虫抓取方法时将它们作为参数给传递进去了,在请求网页的方法上要选择post()方法。这样才能够带请求头信息和分页跳转信息访问这个网站,示例如下:
data={ 'page':pageIndex, 'disclosureType':8 } req=requests.post(url,data=data,headers=headers,proxies=proxies) print(req.content)
3.最后req里面的数据就是根据data参数所返回的动态网页里面的数据,因为是将源代码直接返回来,所以还需要处理一下只获取所需数据,示例如下:
str_data=req.content str_json=str_data[8:-2] print(str_json)
以上就是关于“Python爬虫如何爬取动态网页?Python抓取动态网页代码怎么写”的全部内容了,希望对你有所帮助。
更多python相关文章请访问分类:python
【版权声明】本文图文出自大盘站@dapan.cc,转载请注明出处!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。