Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
网站抓取:python请求未下载完整站点?_Python_Web Scraping_Python Requests - Fatal编程技术网

网站抓取:python请求未下载完整站点?

网站抓取:python请求未下载完整站点?,python,web-scraping,python-requests,Python,Web Scraping,Python Requests,我在抓取网站时遇到问题。其目的是在某些日子内降低伦敦酒店的价格。为此,我从booking.com加载下面的URL,然后尝试搜索关键字。但是由于某些原因,requests.get没有下载完整的站点。例如,下面的URL在我的浏览器中显示酒店列表。每个都显示“总计”和价格。但是,在下面的代码站点中。find('Total')显示在字符串中找不到单词'Total',即使它在浏览器中可见。任何关于为什么会发生这种情况的建议都将不胜感激 import requests url='http://www.bo

我在抓取网站时遇到问题。其目的是在某些日子内降低伦敦酒店的价格。为此,我从booking.com加载下面的URL,然后尝试搜索关键字。但是由于某些原因,requests.get没有下载完整的站点。例如,下面的URL在我的浏览器中显示酒店列表。每个都显示“总计”和价格。但是,在下面的代码站点中。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')
您所说的“全部”信息是通过浏览器中的Javascript生成的。请求库无法为您生成此HTML,因为它不是浏览器环境

要了解我在说什么,请尝试在没有Javascript的浏览器中运行该URL

如果您想删除需要运行Javascript的HTML,您应该查看绑定到浏览器环境的库,例如。

您所说的“全部”信息是通过浏览器中的Javascript生成的。请求库无法为您生成此HTML,因为它不是浏览器环境

要了解我在说什么,请尝试在没有Javascript的浏览器中运行该URL


如果您想删除需要运行Javascript的HTML,您应该查看绑定到浏览器环境的库,例如。

您是否尝试过漂亮的打印
r.test
,以查看实际得到的内容?是的,我有,但它不在其中,所以有什么?“Total”很可能是由一些JavaScript生成的,而这些JavaScript不会运行,
请求
,并且实际上不在原始HTML中。我相信人们使用selenium来抓取动态网站selenium是生成这些JavaScript输出的唯一方法吗?如果是这样的话,有没有办法避免它打开浏览器?你有没有尝试过漂亮的打印
r.test
,看看你到底得到了什么?是的,我有,但它不在里面。那有什么呢?“Total”很可能是由一些JavaScript生成的,而这些JavaScript不会运行,
请求
,并且实际上不在原始HTML中。我相信人们使用selenium来抓取动态网站selenium是生成这些JavaScript输出的唯一方法吗?如果是这样,有没有办法避免它打开浏览器?