当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《网站抓取:python请求不下载完整网站?》经验,为你挑选了1个好方法。

我在抓取网站时遇到了问题.目的是在某些日子里为伦敦的酒店取得价格.为此,我从booking.com加载以下网址,然后尝试搜索关键字.但由于某种原因,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')

jumbopap.. 6

您正在谈论的"总计"信息是使用浏览器中的Javascript生成的.Requests库无法为您生成此HTML,因为它不是浏览器环境.

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

在此输入图像描述

如果你想要刮掉需要运行Javascript的HTML,你应该研究一个绑定到浏览器环境的库,比如Selenium.



1> jumbopap..:

您正在谈论的"总计"信息是使用浏览器中的Javascript生成的.Requests库无法为您生成此HTML,因为它不是浏览器环境.

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

在此输入图像描述

如果你想要刮掉需要运行Javascript的HTML,你应该研究一个绑定到浏览器环境的库,比如Selenium.

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有