Python 抓取文本;I';我不确定Google Chrome Inspect元素是否为我提供了正确的XPath。在哪里可以找到正确的路径?
在这里,我想抓取一个名为“fundsnetservices.com”的网站。具体来说,我想抓取每个程序下面的文本——它是关于一段文字的 使用Google Chrome Inspect方法,我可以拉这个 “/html/body/div[3]/div/div/div[1]/div/p[2]/text()” 。。。作为xpath。但是,每次打印文本时,它都返回[]。为什么会这样Python 抓取文本;I';我不确定Google Chrome Inspect元素是否为我提供了正确的XPath。在哪里可以找到正确的路径?,python,html,xml,xpath,lxml,Python,Html,Xml,Xpath,Lxml,在这里,我想抓取一个名为“fundsnetservices.com”的网站。具体来说,我想抓取每个程序下面的文本——它是关于一段文字的 使用Google Chrome Inspect方法,我可以拉这个 “/html/body/div[3]/div/div/div[1]/div/p[2]/text()” 。。。作为xpath。但是,每次打印文本时,它都返回[]。为什么会这样 response = urllib.request.urlopen('http://www.fundsnetservices
response = urllib.request.urlopen('http://www.fundsnetservices.com/searchresult/30/International-Grants-&-Funders/18.html')
tree = etree.HTML(response.read().decode('utf-16'))
text = tree.xpath('/html/body/div[3]/div/div/div[1]/div/p[2]/text()')
代码似乎返回空白节点。使用以下命令更正XPath:
//p[@class="tdclass"]/text()[3]
下面是我合并您的修订的方式吗?它对我来说仍然不太管用:“/html/body/div[3]/div/div/div[1]/div/p[2]/text()//p[@class=“tdclass”]/text()[3]”顺便说一句,我还意识到我想要访问的一些文本恰好是尾部文本;我把问题修好了!我意识到如何使用BeautifulSoup.:)很好
tree.xpath('//p[@class=“tdclass”]/text()[3]')
就足够了。:)