使用 Python 从网站上抓取数据 [关闭]
Posted
技术标签:
【中文标题】使用 Python 从网站上抓取数据 [关闭]【英文标题】:Scraping data from a website using Python [closed] 【发布时间】:2022-01-23 03:31:49 【问题描述】:是否可以使用 Python 代码从本网站的图表中提取数据? https://xsi.xeneta.com/
【问题讨论】:
欢迎来到 Stack Overflow。请阅读How to Ask 并确保您了解这不是论坛。您应该从 your own research 开始,然后向我们展示您自己解决问题的尝试,以及对问题的具体描述和关于如何解决的具体问题解决这个问题。这不是弄清楚什么是可能的或设计通用方法的正确位置;这是弄清楚如何应用技术的地方。 【参考方案1】:是的,假设页面上存在数据,您可以使用请求获取页面,然后提取所需的数据。它看起来像
import requests
page = requests.get(url="https://xsi.xeneta.com/")
data = page.content
print(data)
这会给你一个起点,至少可以做任何你想做的处理。
对于一些在这里可能有用的功能- https://www.w3schools.com/python/ref_requests_response.asp
【讨论】:
【参考方案2】:如果您检查图表,您会发现它嵌套在 iframe 中。我抓住了第一个图表并直接导航到该站点,而不是 xsi.xeneta.com。您还可以看到 data-json 属性中有很多数据,因此这段代码使用 selenium 打印了这些数据。
进口:
pip install selenium
pip install webdriver-manager
代码:
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.implicitly_wait(5)
driver.get("https://xsi-short.xeneta.com/xsic/chart/asia-europe/")
canvas = driver.find_element_by_xpath('//*[@id="chart-visualization-b9948b5ccd27f73bf764abe4a935c502"]')
print(canvas.get_attribute("data-json"))
【讨论】:
以上是关于使用 Python 从网站上抓取数据 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章