【问题标题】:lxml and request scrape javascript tablelxml 并请求抓取 javascript 表
【发布时间】:2020-12-15 20:22:26
【问题描述】:

此代码的目的是从 java 脚本网页中抓取表格。

页面=https://www.investing.com/economic-calendar/unemployment-rate-301

PS:我没有使用 selenium,因为它非常慢,我更喜欢 request 和 lxml 代码如下:

from lxml import html
import requests
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36'}
link = 'https://www.investing.com/economic-calendar/unemployment-rate-301'
url = link.strip()
page = requests.get(url, headers=headers)
tree = html.fromstring(page.content)
table = tree.xpath('//*[@id="eventTabDiv_history_0"]')
for table in table:
    table = table.text
    print(table)

问题是它没有打印任何东西没有表格也没有错误

【问题讨论】:

  • 如果页面上显示的内容是 javascript 执行的结果,您要么必须使用像 Selenium 这样的浏览器模拟器,因为它会执行 javascript,要么发现由javascript并使用reuests复制那些。
  • 您的预期输出究竟是什么?

标签: python python-requests lxml


【解决方案1】:

问题可能是表格元素本身没有任何文本。要获取其子函数 text_content() 的文本,可以使用:

for table in table:
    table = table.text_content()
    print(table)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-06
    • 1970-01-01
    • 2015-02-04
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多