首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用请求获取数据,网络选项卡中没有数据源

问无法使用请求获取数据,网络选项卡中没有数据源
EN

Stack Overflow用户
提问于 2019-08-12 03:20:20
回答 2查看 94关注 0票数 1

嗨,我正在尝试使用请求模块和https://www.ubytovanienaslovensku.eu/加载BS4,但是我无法获得所需的数据。看起来数据是用js加载的,但是我无法在网络选项卡中看到任何数据源。

代码语言:javascript
复制
import requests
import bs4
import lxml
url ='https://www.ubytovanienaslovensku.eu'
res = requests.get(url)
soup = bs4.BeautifulSoup(res.content, 'lxml')
print(soup.get_text())

我看到的数据在现场加载的动态,但我没有看到任何来源的数据。

我需要网站上的清单。不仅仅是基本的html,它只有脚本标记。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-12 08:43:22

您可以结合使用pyppeteer和asyncio从该站点异步获取清单。

代码语言:javascript
复制
import asyncio
from pyppeteer import launch

url = "https://www.ubytovanienaslovensku.eu/"

async def get_listings(link):
    wb = await launch({"headless": False})
    [page] = await wb.pages()
    await page.goto(link)
    await page.waitForSelector('#home-rentals')
    containers = await page.querySelectorAll('.rental-item')
    for container in containers:
        title = await container.querySelectorEval('span.caption','e => e.innerText')
        link = await page.evaluate('e => e.href',container)
        print(title,link)

asyncio.get_event_loop().run_until_complete(get_listings(url))

产出如下:

代码语言:javascript
复制
VIP SK Drevenica - Liptovská Štiavnica (max. 75) https://www.ubytovanienaslovensku.eu/chalupky-u-babky
VIP SK Drevenica - Mýto pod Ďumbierom (max. 28) https://www.ubytovanienaslovensku.eu/chata-zinka
VIP SK Drevenica - Liptovský Trnovec (max. 72) https://www.ubytovanienaslovensku.eu/liptovske-chaty
VIP SK Drevenica - Ružomberok (max. 90) https://www.ubytovanienaslovensku.eu/chaty-liptovo
票数 2
EN

Stack Overflow用户

发布于 2019-08-12 03:57:57

它来自websocket,所以您必须搜索WS消息面板:

​

​

你将无法通过请求得到这个结果。你可以试试硒。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57455296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档