我在刮网站上有问题。其目的将是为伦敦的酒店节省一定时间的价格。为此,我将从booking.com加载下面的URL,然后尝试搜索关键字。但出于某种原因,requests.get并没有下载完整的站点。例如,下面的URL在我的浏览器中显示了一个酒店列表。他们中的每一个都显示了“总计”和价格。但是,在下面的代码中,site.find( 'Total‘)显示在字符串中找不到’Total‘这个词,尽管它在浏览器中是可见的。任何建议,为什么会发生这种情况,将受到赞赏。
import requests
url='http://www.booking.com/searchresults.en-gb.html?label=gen173nr-17CAEoggJCAlhYSDNiBW5vcmVmaFCIAQGYAS64AQTIAQTYAQHoAQH4AQs;sid=1a43e0952558ac0ad0061d5b6523a7bc;dcid=1;checkin_monthday=4;checkin_year_month=2016-2;checkout_monthday=11;checkout_year_month=2016-2;city=-2601889;class_interval=1;csflt=%7B%7D;group_adults=7;group_children=0;highlighted_hotels=1192837;hp_sbox=1;label_click=undef;no_rooms=1;review_score_group=empty;room1=A%2CA%2CA%2CA%2CA%2CA%2CA;sb_price_type=total;score_min=0;si=ai%2Cco%2Cci%2Cre%2Cdi;ss=London;ssafas=1;ssb=empty;ssne=London;ssne_untouched=London&;order=price_for_two'
r=requests.get(url)
site=r.text
site.find('Total')发布于 2016-01-09 19:08:51
您正在讨论的“总计”信息是在浏览器中使用Javascript生成的。请求库不能为您生成这个HTML,因为它不是一个浏览器环境。
要了解我在说什么,请尝试在没有Javascript的浏览器中运行该URL。

如果您想要抓取需要Javascript才能运行的HTML,您应该查看绑定到浏览器环境的库,比如硒。
https://stackoverflow.com/questions/34697660
复制相似问题