python-3.x - 如何从 faceit 中抓取链接
问题描述
我正在尝试从 faceit 房间中抓取代码,这是我尝试过的,但它不起作用。任何帮助深表感谢!
import requests
from bs4 import BeautifulSoup
r = requests.get('https://www.faceit.com/en/csgo/room/1-8d6729b5-cfeb-4059-8894-3b07e04e76b2')
soup = BeautifulSoup(r.content, 'html.parser')
extracted_link = soup.find_all('href', class_='list-unstyled')
print(extracted_link)
示例链接:https ://www.faceit.com/en/csgo/room/1-8d6729b5-cfeb-4059-8894-3b07e04e76b2
示例链接提取:https ://demos-europe-west2.faceit-cdn.net/csgo/f9eadb47-aea5-4672-9499-4f457c7d28bd.dem.gz
解决方案
页面的所有内容都是动态加载的,这意味着它BeautifulSoup
不会看到它。所以你实际上可能会更好地使用selenium
inwebdriver
模式headless
。
例如:
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.headless = True
driver = webdriver.Chrome(options=options)
url = "https://www.faceit.com/en/csgo/room/1-8d6729b5-cfeb-4059-8894-3b07e04e76b2"
driver.get(url)
time.sleep(2)
element = driver.find_element_by_css_selector('.match-vs .btn-default')
print(element.get_attribute("href"))
输出:
https://demos-europe-west2.faceit-cdn.net/csgo/f9eadb47-aea5-4672-9499-4f457c7d28bd.dem.gz
推荐阅读
- javascript - 使用 Stomp Client 订阅主题,但我没有收到任何通知 无法使用 React Native 并使用 Angular
- java - 创建目录时解压缩文件返回 FileNotFoundException
- windows - Pygame 破解了 Windows
- android - 如何正确初始化改造实例
- node.js - 在 Axios 调用中使用 Joi 进行验证没有给出正确的响应
- hadoop - Hadoop MapReduce 没有产生所需的输出
- swift - Swift 5 UIScrollView 添加背景图片
- html - 将加载器对齐到屏幕的中心
- git - 安装 git Windows 10 时遇到问题
- ipc - C# 中的 MemoryMappedFiles 用于 Docker 容器之间的 IPC