尝试从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表/表单,还是仅仅是我的无知? 提前谢谢
在查看源代码时,您可以发现实际的HTML中没有
<table>
元素。这意味着Python正在获取的源代码缺少您要查找的任何元素。表内容很可能是在Javascript加载页面之后插入的。在您可能需要一个headless浏览器来相应地下载和更新内容,或者找到表的直接来源。在
相关问题 更多 >
编程相关推荐