python写网络爬虫时遇到的问题
现在很多网页并不是一次性全部加载完成的,而是在加载完页面后利用脚本和ajax或者iframe二次加载
我用python3.2的urllib.request.urlopen()打开的网页无法去解析读取某些二次加载进来的内容,此外还有些二次加载的内容的编码可能也和网页<meta>中声明的不同,导致解析的时候出现乱码
请问有什么解决办法? Python 网络爬虫
[解决办法]
暂时没有很好的办法
2.x还可以借助pyv8去执行相关的js,但pyv8在3.x不可行
我暂时查到的资料是借助 PhantomJs => http://phantomjs.org/ 或者webkit,但我对这两个都不熟悉
我个人的解决方法是继续抓包,模拟二次发送(思路ing,未有实现例子)
乱码的问题,ajax/json一般都用utf-8(标准默认),所以看看js是否有对返回值转码
人家发什么编码是无法控制的,只能接收后转码