Python beautiful soup web scraper 不返回标签内容

标签 python web-scraping

我正在尝试从本地博彩网站抓取比赛及其各自的赔率,但是我尝试使用我的网络scraper的每个网站都不会返回任何内容,而只是打印“进程已完成,退出代码为0”,但是不返回任何内容。 有人可以帮我打开容器并取出里面的东西吗?

我已经尝试了上述所有网站近一个月,但没有成功。问题似乎出在确切的 div、class 或可能的 span 元素布局上。

  1. https://www.betlion.co.ug/
  2. https://www.betpawa.ug/
  3. https://www.premierbet.ug/

例如,我尝试了代码中的链接 2,如图所示

import requests
from bs4 import BeautifulSoup

url = "https://www.betpawa.ug/"

response = requests.get (url, timeout=5)
content = BeautifulSoup (response.content, "html.parser")

for match in content.findAll("div",attrs={"class":"events-container prematch", "id":"Bp-Event-591531"}):
    print (match.text.strip())

我希望程序返回比赛、赔率和容器的所有其他组件的列表。但是程序运行并只打印““进程已完成,退出代码 0”没有其他内容

最佳答案

看起来基础站点是分两个阶段加载的

  1. 加载页面的一些 HTML 结构,
  2. 使用JavaScript填写内容

您可以通过右键单击页面,执行“查看页面源代码”,然后搜索“事件容器”(它不存在)来向自己证明这一点。

所以你需要比 requests + bs4 更强大的东西。我听说有人使用 Selenium 来做到这一点,但我对此并不熟悉。

关于Python beautiful soup web scraper 不返回标签内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58170013/

相关文章:

Python 循环延迟

python - 如何基于 1 在一组段上分配值

web-scraping - 如何限制BeautifulSoup找到的元素数量?

c# - HtmlAgilityPack 和 Selenium Webdriver 返回随机结果

python - 如果未安装 setuptools 怎么办?

python - 如何在每行末尾添加逗号

python - 如何在 Python 中向量化增量

python - Beautiful Soup For 循环给了我单独的列表,但是需要一个数据框

web-scraping - 抓取此页面时,我遇到 scrapy 超时错误

java - 提取名称,然后用逗号分隔