Python抓取xpath不能处理特定的站点/表

2024-09-21 03:22:18 发布

您现在位置:Python中文网/ 问答频道 /正文

尝试从url的表中获取数据时遇到问题:

http://economia.uol.com.br/cotacoes/bolsas/indx-bovespa/?intraday&size=600

指的是日内市场数据。 基于前面的示例和firebug提供的xpath标记,我编写了下面的代码,但是tr_节点和td_内容都返回空列表:

import urllib2
from lxml import etree
uol = urllib2.urlopen("http://economia.uol.com.br/cotacoes/bolsas/indx-bovespa/?intraday&size=600")
t = uol.read()
html = etree.HTML(t)
tr_nodes = html.xpath(".//*[@id='main']/table/tbody/tr")
td_content = [[td.text for td in tr.xpath('td')] for tr in tr_nodes]

我从堆栈溢出中读到以下问题:

python scraping reuters site...bad xpath?

并尝试了适合我需要的解决方案:

^{pr2}$

同样的问题也发生了。 事实上,当我尝试将整个url内容写入一个文本文件时,我找不到我想要刮取的td节点。可能是一个无法用我使用的库来刮取的dinamic表/表单,还是仅仅是我的无知? 提前谢谢


Tags: brcomhttpurlsizexpathtrtd
1条回答
网友
1楼 · 发布于 2024-09-21 03:22:18

在查看源代码时,您可以发现实际的HTML中没有<table>元素。这意味着Python正在获取的源代码缺少您要查找的任何元素。表内容很可能是在Javascript加载页面之后插入的。在

您可能需要一个headless浏览器来相应地下载和更新内容,或者找到表的直接来源。在

相关问题 更多 >

    热门问题