为啥我在网站里用xpath提取数据就可以到pycharm里面就提取不到了求帮助
import requests
from fake_useragent import UserAgent
from lxml import etree
def star():
url = "https://www.axjhd.com/read-67633"
headers = {
"User-Agent": UserAgent().chrome
}
req = requests.get(url, headers=headers)
# req.encoding = "utf-8"
e = etree.HTML(req.text)
"""返回一个元素列表。因此,您不能直接在列表上使用 .text 属性。您需要迭代列表并访问单个元素的 .text 属性,或者如果您确定只需要列表中的第一个元素,可以使用索引 [0] 来获取。"""
name = e.xpath('//td/h2')[0]
print(name.text)
types = e.xpath('//div[@id="info"]/p')
print(type(types))
for i in types:
print(i.text)
if __name__ == '__main__':
star()
你的这行代码name = e.xpath('//td/h2')[0]提取的是一个
name = e.xpath('//td/h2/text()')[0]
还有就是你的types的提取,可以使用xpath()方法返回的结果直接进行迭代,并使用.text属性来获取每个元素的文本内容。可以这样改一下:
types = e.xpath('//div[@id="info"]/p/text()')
for i in types:
print(i)
如果以上回答对您有所帮助,点击一下采纳该答案~谢谢
【相关推荐】