在html页面上使用以下代码进行解析
request = urllib2.Request(urllink, None, {'User-Agent':'Mosilla/5.0 (\
Macintosh; Intel\
Mac OS X 10_7_4) AppleWebKit/536.11 (KHTML, like Gecko) \
Chrome/20.0.1132.57 Safari/536.11'})
urlfile = urllib2.urlopen(request)
page = urlfile.read()
soup = BeautifulSoup(page)正在手动生成urllink。问题是整个网页都不是从,
page = urlfile.read()如果我使用“将页面保存为选项”保存页面,我可以看到许多html内容。后来,我了解到网页内部发送了许多请求。我怎么能得到整个页面,或者我可以得到那些请求url的??
请帮帮我
发布于 2014-01-06 08:33:51
当您请求一个url时,它会返回该页面的源代码。也许这个页面包含img,css,js文件(我们称之为静态文件)。您的浏览器将呈现html,它将根据这些静态文件的url请求资源。例如<img src="/static/a.png" />,那么浏览器将请求/static/a.png来获取img。与css和js文件相同。
更重要的是,现在大多数网站都是web2.0,这意味着我们可以使用ajax异步请求资源。例如$.ajax({url:'/xxx' ...})(jquery)。js还可以修改dom树,例如添加一个新标记。
因此,如果您想像浏览器一样获得所有的内容。您需要解析html或重写基于javascript的ajax请求。或者,如果您有一个浏览器内核(如webkit ),您可以执行与浏览器相同的操作。例如ghost.py,硒 辣椒酱,幻影
https://stackoverflow.com/questions/20945223
复制相似问题