如果你要抓的动态页面没有这些限制,那么完全可以用抓静态页面一样的方法下面,比如下面的:
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字符集。不设置会乱码。