http://eid.csrc.gov.cn/fund/disclose/instance_html_view.do?instanceid=11733222 http://eid.csrc.gov.cn/fund/disclose/instance_html_view.do?instanceid=11733213
在上面这两个链接中我想获取对应的基金名称,我在浏览器里面获取到的 full XPath 如下
/html/body/table/tbody/tr/td[2]/table/tbody/tr[1]/td[1]/div/table[1]/tbody/tr[2]/td/div/div/table/tbody/tr[1]/td[2]/p
但是第二个链接中我能顺利获取到值,第一个获取到的内容为空
为了给大佬省事,对应的代码如下
from ast import main
from fake_useragent import UserAgent
from lxml import etree
import requests
ua = UserAgent()
headers = {"user-agent": ua.random}
url1 = "http://eid.csrc.gov.cn/fund/disclose/instance_html_view.do?instanceid=11733222"
url2 = "http://eid.csrc.gov.cn/fund/disclose/instance_html_view.do?instanceid=11733213"
def get_fund_name(url: str):
x = requests.get(url, headers = headers)
selector = etree.HTML(x.content)
fund_name = selector.xpath('/html/body/table/tbody/tr/td[2]/table/tbody/tr[1]/td[1]/div/table[1]/tbody/tr[2]/td/div/div/table/tbody/tr[1]/td[2]/p/text()')
return fund_name
print(get_fund_name(url1))
print(get_fund_name(url2))
output 如下
[]
['长信利盈灵活配置混合型证券投资基金']
我仔细对比了这两个网页,实在是找不到原因……
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.