使用lxml解析和python请求

2024-09-29 23:27:04 发布

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

最近我试图用lxmlrequests解析网页中的html表。在

python代码如下运行:

>>> from lxml to html
>>> import requests
>>> page = requests.get('http://www.bigpaisa.com/candlestick-stock-screener-result/nse/bearish-evening-star-candlestick-pattern')
>>> tree = html.fromstring(page.text)'

然后我想使用lxml.xpath()函数解析以下重复数据块以获取列表:

^{pr2}$

但无法执行此操作时会出现错误,例如:

>>> symbol=tree.xpath('//TD[@style="font-size: 11px;"][@!-- [@a href="/company-t
echnical-details/[@%=sr.getExchange()%]/[@%=sr.getSymbol()%]/[@%=sr.getName()%]"
 ][@%= sr.getSymbol() %][@/a]  --]/text()')

给出Xpath求值错误和

>>> prices=tree.xpath('//TD/text()')

返回没有值的列表。在


Tags: texttree网页列表html错误pagerequests
1条回答
网友
1楼 · 发布于 2024-09-29 23:27:04

您感兴趣的行位于ID为sortable<table>内。在

from lxml import html

url = 'http://www.bigpaisa.com/candlestick-stock-screener-result/nse/bearish-%20evening-star-candlestick-pattern'
doc = html.parse(url)

# you can use XPath to select elements...
rows = doc.xpath("//table[@id = 'sortable']/tbody/tr")

# or, if you prefer, use CSS selectors instead...
rows = doc.cssselect("table#sortable tbody tr")

for tr in rows:
    # do something with each tr, for example
    tds = tr.cssselect("td")
    print tds[4].text

请注意,您根本不需要requests模块。在

相关问题 更多 >

    热门问题