python爬虫数据提取失败

为啥我在网站里用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]提取的是一个

标签,而不是其中的文本内容。如果你要提取文本内容,可以使用.text属性,可以这样改一下:

name = e.xpath('//td/h2/text()')[0]

还有就是你的types的提取,可以使用xpath()方法返回的结果直接进行迭代,并使用.text属性来获取每个元素的文本内容。可以这样改一下:

types = e.xpath('//div[@id="info"]/p/text()')
for i in types:
    print(i)

如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

【相关推荐】




如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^