我想使用网络抓取来提取学生住宿网站uniplaces上的列表信息。下面是一个示例性列表:https://www.uniplaces.com/accommodation/berlin/92342
我想提取诸如价格、浴室、室友等信息
然而,使用我在网上找到的不同方法,我无法提取完整的html代码。总是缺少包含相关信息的小节。在网站上,你可以用一个小箭头打开这些小节。我对html是新手,所以我不明白为什么不能拉取它
以下是我尝试过的代码:
from selenium import webdriver
from bs4 import BeautifulSoup
options = webdriver.ChromeOptions()
options.add_argument('headless')
driver= webdriver.Chrome(chrome_options=options,executable_path=r'path/chromedriver.exe')
driver.get('https://www.uniplaces.com/accommodation/berlin/92342')
html_doc = driver.page_source
soup= BeautifulSoup(html_doc,'lxml')
print (soup.prettify())
以及这方面的变化:
import urllib.request
fp= urllib.request.urlopen("https://www.uniplaces.com/accommodation/berlin/92342")
mybytes = fp.read()
mystr = mybytes.decode("utf8")
fp.close()
print(mystr)
如果有人能帮上忙,我将非常感谢任何提示和建议;把戏
祝你一切顺利, 汉娜
此站点使用可从访问的内部GraphQL API
GraphQL是一种查询语言,可用于选择要查询的字段。这对你来说非常方便,因为你可能想按照你在问题中的建议访问特定的信息
以下示例查询报价、条件(包括最大人数)和住宿类型(面积、卧室和浴室数量):
您可以了解有关GraphQL查询here的更多信息
offer页面中使用的初始请求非常大,您只需要选择要查询的字段。以下是使用curl的查询:
相关问题 更多 >
编程相关推荐