【发布时间】:2012-07-12 20:27:37
【问题描述】:
我正在学习制作网络抓取工具,并想为个人项目抓取 TripAdvisor,使用 urllib2 抓取 html。 但是,我遇到了一个问题,使用下面的代码,我返回的 html 不正确,因为页面似乎需要一秒钟才能重定向(您可以通过访问 url 来验证这一点) - 相反我得到了代码从最初短暂出现的页面。
是否需要设置一些行为或参数以确保页面在获取网站内容之前已完全完成加载/重定向?
import urllib2
from bs4 import BeautifulSoup
bostonPage = urllib2.urlopen("http://www.tripadvisor.com/HACSearch?geo=34438#02,1342106684473,rad:S0,sponsors:ABEST_WESTERN,style:Szff_6")
soup = BeautifulSoup(bostonPage)
print soup.prettify()
编辑:答案是彻底的,但是,最终解决我的问题的是: https://stackoverflow.com/a/3210737/1157283
【问题讨论】:
-
urllib 不会引发错误吗?这种情况有一个重定向器......
-
@DonQuestion 没有错误,我只是从被重定向之前短暂出现的页面中获取 html。我想要最后出现的页面中的html。这个redirectdirector是什么,你能详细说明一下吗?
-
如果你使用 urlopen,你正在使用 OpenerDirector.open() 查看 python-docs - 不幸的是它没有用 2-3 个词解释:-( : docs.python.org/library/…