如何用Python抓取动态页面信息

Python09

如何用Python抓取动态页面信息,第1张

python抓取动态和静态页面基本是一样的。区别有些动态页面是有对请求头有限制(如cookie\user agent)或者是IP限制等。

如果你要抓的动态页面没有这些限制,那么完全可以用抓静态页面一样的方法下面,比如下面的:

import urllib2

url = "xxxxxx"

print urllib2.urlopen(url).read()

应该是没法抓取渲染后的页面。

因为渲染这个工作是浏览器完成的。而你通过python脚本抓取到的内容仅仅是html、css、js等源码。

对于一些需要js异步加载的内容获取,通常是先获取相关源码,然后参考js源码,利用python伪造一个请求(带上所需的参数)再向服务器获取一次内容。

动态内容的爬取,也是爬虫面临的一个比较大的难题。很多动态请求 事实上并不是那么容易伪造的。

1、编写爬虫思路:

确定下载目标,找到网页,找到网页中需要的内容。对数据进行处理。保存数据。

2、知识点说明:

1)确定网络中需要的信息,打开网页后使用F12打开开发者模式。

在Network中可以看到很多信息,我们在页面上看到的文字信息都保存在一个html文件中。点击文件后可以看到response,文字信息都包含在response中。

对于需要输入的信息,可以使用ctrl+f,进行搜索。查看信息前后包含哪些特定字段。

对于超链接的提取,可以使用最左边的箭头点击超链接,这时Elements会打开有该条超链接的信息,从中判断需要提取的信息。从下载小说来看,在目录页提取出小说的链接和章节名。

2)注意编码格式

输入字符集一定要设置成utf-8。页面大多为GBK字符集。不设置会乱码。