【发布时间】:2018-11-17 07:11:30
【问题描述】:
我创建了一个脚本,它能够从网页中提取tableFile 类下可用的以.html 扩展名结尾的链接。该脚本可以完成它的工作。然而,我此时的意图是只获取那些在其类型字段中具有EX- 的.html 链接。我正在寻找任何纯 xpath 解决方案(不使用 .getparent() 或其他东西)。
到目前为止我尝试过的脚本:
import requests
from lxml.html import fromstring
res = requests.get("https://www.sec.gov/Archives/edgar/data/1085596/000146970918000185/0001469709-18-000185-index.htm")
root = fromstring(res.text)
for item in root.xpath('//table[contains(@summary,"Document")]//td[@scope="row"]/a/@href'):
if ".htm" in item:
print(item)
当我尝试使用以下方法使链接满足上述条件时,出现错误:
for item in root.xpath('//table[contains(@summary,"Document")]//td[@scope="row"]/a/@href'):
if ".htm" in item and "EX" in item.xpath("..//following-sibling::td/text"):
print(item)
我得到的错误:
if ".htm" in item and "EX" in item.xpath("..//following-sibling::td/text"):
AttributeError: 'lxml.etree._ElementUnicodeResult' object has no attribute 'xpath'
文件是这样的:
【问题讨论】:
标签: python python-3.x xpath web-scraping