Lxml xpath 返回一个空数组

好吧,伙计们,我正在刮:https://twitter.com/iForex_com/status/1019547735614255104


如果有人能帮助我,我将不胜感激


import requests

from lxml import html


        finalurl = f"https://www.twitter.com/user/status/{id}"

        response = requests.get(finalurl,allow_redirects=True)

            tree = html.fromstring(response.content)

            print("getting photolink")

            postPhotoLink = tree.xpath('//*[@id="react-root"]/div/div/div/main/div/div/div/div[1]/div/div[2]/div/section/div/div/div/div[1]/div/article/div/div[4]/div/div/div/a/div/div[2]/div/img/@src')

                        print(postPhotoLink)

结果:


获取照片链接 []


不负相思意
浏览 170回答 2
2回答

手掌心

尝试使用这个XPath,它应该工作:(//img[@class='css-9pa8cd'])[2]/@src如果它不起作用,请尝试使用此XPath,因为一旦您获得html,代码就会更改。//img[@data-aria-label-part='']/@src硒不是必需的。

慕运维8079593

谢谢大家的帮助。我不得不为此使用硒,否则请求无法正常工作,仍然在xpath思想中选择数字2 img时遇到一些麻烦。im从阵列中手动选择,仍然有效...完整的工作代码import requestsfrom lxml import htmlfrom selenium import webdriverimport timefinalurl = "https://twitter.com/iForex_com/status/1019547735614255104"browser = webdriver.Safari()browser.get(finalurl)time.sleep(1)tree = html.fromstring(browser.page_source)print("getting photolink")postPhotoLink = tree.xpath('//img[@class="css-9pa8cd"]/@src')print(postPhotoLink[1])browser.close()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python