魔法少女卡卡 2021-05-17 19:37 采纳率: 100%
浏览 371
已采纳

python xpath解析报错,etree.HTML

#图片解析

import requests
from lxml import etree
import os


if __name__ == '__main__':
    url='https://pic.netbian.com/4kmeishi/'
    headers={
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36'
    }
    response=requests.get(url=url,headers=headers)
    #手动设定响应数据的编码格式,手动解决乱码的问题
    #response.encoding='utf-8'
    page_text=response.text
    #实例化对象
    tree=etree.HTML(page_text)
    li_list=tree.xpath('//div[@class="slist"]/ul/li')
    #创建一个文件夹
    if not os.path.exists('./meishi.Libs/'):
        os.mkdir('./meishi.Libs/')
    for li in li_list:
        img_list='https://pic.netbian.com'+li.xpath('./a/img/@src')[0]
        img_name=li.xpath('./a/img/@alt')[0]+'jpg'
        #通用的处理中文乱码的解决方案
        img_name=img_name.encode('iso-8859-1').decode('gbk')

        #请求图片进行持久化存储
        img_date=requests.get(url=img_list,headers=headers).content #content对应的URL后缀一定是 JPG,如果是HTML一定会显示空白
        img_path='./meishi.Libs/'+img_name
        with open(img_path,'wb')as fp:
            fp.write(img_date)
            print(img_name,'下载成功!')

代码如上,报错:

Traceback (most recent call last):
  File "C:/Users/忙碌的小仙女/PycharmProjects/爬虫学习/xpath 案例2.py", line 18, in <module>
    tree=etree.HTML(page_text)
AttributeError: 'function' object has no attribute 'HTML'

 

  • 写回答

3条回答 默认 最新

  • CSDN专家-HGJ 2021-05-17 20:08
    关注

    经测试在vscode终端代码运行正常,尝试升级lxml版本,代码中还有个小问题,在img_name=li.xpath('./a/img/@alt')[0]+'jpg'的jpg前面要加个点,即.jpg,才是一个jpg图片格式文件。运行环境:python3.7.6,lxml4.5.1。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 分析下图所示同步时序逻辑电路的逻辑功能。
  • ¥15 halcon联合c#遇到了问题不能解决
  • ¥15 xshell无法连接提示ssh服务器拒绝密码
  • ¥15 AT89C52单片机C语言关于串口通信的位操作
  • ¥20 需要步骤截图(标签-服务器|关键词-map)
  • ¥50 gki vendor hook
  • ¥15 灰狼算法和蚁群算法如何结合
  • ¥15 这是一个利用ESP32自带按键和LED控制的录像代码,编译过程出现问题,请解决并且指出错误,指导如何处理 ,协助完成代码并上传代码
  • ¥20 stm32f103,hal库 hal_usart_receive函数接收不到数据。
  • ¥20 求结果和代码,sas利用OPTEX程序和D-efficiency生成正交集