【发布时间】:2017-08-07 22:35:31
【问题描述】:
我想使用 Dryscrape 从 Google 抓取酒店房价结果。
例如这里的rhs_block https://www.google.co.uk/search?q=The+Taj+Mahal+Palace+hotel
但是它似乎没有呈现然后收集 javascript,我想知道我可能哪里出错了。?
import dryscrape
from bs4 import BeautifulSoup
dryscrape.start_xvfb()
session = dryscrape.Session()
my_url = 'https://www.google.ie/search?q=The+Taj+Mahal+Palace+hotel'
session.visit(my_url)
response = session.body()
soup = BeautifulSoup(response, "lxml")
# prices = soup.find('div', {"class" : "rhs_block"})
prices = soup.find('div', {"class" : "lhpr-content-item"})
print prices
我已经在一个简单的 js 渲染页面上对此进行了测试,所以它确实有效。任何指针将不胜感激,因为干刮对我来说相当新。
【问题讨论】:
-
您是否尝试保存回复并检查您从谷歌获得的信息?
-
我在最后设置了
print soup,然后以python js.py >> test.html运行它,grep 的输出没有返回任何内容。 -
为什么不保存
response看看里面有什么? -
所以
response给了我没有js版本的Google 搜索结果页面? -
我已将
session.wait_for(lambda: session.at_css("#rhs_block", timeout=5))添加到,但它只是超时了。
标签: javascript python web-scraping dryscrape