【发布时间】:2021-12-01 13:02:57
【问题描述】:
借助问题的答案:Python: Get html table data by xpath,我正在尝试从网页上抓取“股权模式”信息。代码如下:
import lxml.html as LH
import pprint
import requests
def screenerdata (symbol):
with requests.Session() as sess:
resp = sess.get('https://www.screener.in/company/'+symbol+'/consolidated/')
root= LH.fromstring(resp.content)
for tbody in root.xpath('/html/body/main/section[9]/div[2]/table/tbody'):
data = [ [tdata.text_content().replace(u'\xa0', u'').strip()
for tdata in trow.xpath('td')]
for trow in tbody.xpath('//tr') ]
pprint.pprint(data)
screenerdata("LTTS")
由于网页上的 html 表没有任何 id 或类,我使用 Mozilla Firefox Web 开发工具复制了 xpath。一切都很好,除了代码也从其他表中抓取数据。有关如何解决此问题的任何想法。提前致谢
两个答案后更新: 虽然没多大关系,但是我发现我要从中抓取数据的表没有任何 id 或唯一的类,但是保存该表的 section 标签有一个唯一的 id。所以我相应地修改了代码
【问题讨论】:
标签: python-3.x web-scraping xpath