weixin_53215066 2022-01-13 17:38 采纳率: 33.3%
浏览 1595

编写python爬虫时显示AttributeError: module 'lxml.etree' has no attribute 'xpath'

问题遇到的现象和发生背景

编写爬虫运行结果报错

问题相关代码,请勿粘贴截图
import requests
from lxml import html
etree= html.etree
if __name__ == '__main__':
    #对下述url发起请求解析出视频详情页的url和视频的名称
    url = "https://www.pearvideo.com/category_5"
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36"}
    page_text=requests.get(url,headers).text
    tree=etree.HTML(page_text)
    li_list=tree.xpath('//ul[@class="listvideo-list clearfix"]/li')
    for li in li_list:
        detail_url='https://www.pearvideo.com/'+li.xpath('./div/a/@href')[0]
        # name=li.xpath=('./div/a/div[2]/text()')+".mp4"
        #对详情页发起请求
        detail_page_text=requests.get(url=detail_url,headers=headers).text
        #从详情页中解析出视频对应的url
        root=etree.xpath("detail_page_text")
        mp4_url=root.xpath('//div[@id="poster"]/img/@src')[0]

        print(mp4_url)

运行结果及报错内容
root=etree.xpath("detail_page_text")

AttributeError: module 'lxml.etree' has no attribute 'xpath'

我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

1条回答 默认 最新

  • 小僵尸打字员 2022-01-13 19:14
    关注

    你是不是想这样

    import requests
    from lxml import html
    
    etree = html.etree
    if __name__ == '__main__':
        # 对下述url发起请求解析出视频详情页的url和视频的名称
        url = "https://www.pearvideo.com/category_5"
        headers = {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36"}
        page_text = requests.get(url, headers).text
        tree = etree.HTML(page_text)
        li_list = tree.xpath('//ul[@class="listvideo-list clearfix"]/li')
        for li in li_list:
            detail_url = 'https://www.pearvideo.com/' + li.xpath('./div/a/@href')[0]
            # name=li.xpath=('./div/a/div[2]/text()')+".mp4"
            # 对详情页发起请求
            detail_page_text = requests.get(url=detail_url, headers=headers).text
            # 从详情页中解析出视频对应的url
            detail_tree = html.etree.HTML(detail_page_text)
            root = detail_tree.xpath("detail_page_text")
            mp4_url = detail_tree.xpath('//div[@id="poster"]/img/@src')[0]
    
            print(mp4_url)
    

    有用记得点个采纳

    评论

报告相同问题?

问题事件

  • 创建了问题 1月13日

悬赏问题

  • ¥15 C语言使用vscode编码错误
  • ¥15 用KSV5转成本时,如何不生成那笔中间凭证
  • ¥20 ensp怎么配置让PC1和PC2通讯上
  • ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
  • ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
  • ¥15 请各位帮我看看是哪里出了问题
  • ¥15 vs2019的js智能提示
  • ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
  • ¥15 uniapp的h5项目写一个抽奖动画
  • ¥15 hadoop中启动hive报错如下怎么解决