from lxml import etree报错

写一个小型的爬虫懒得用scrapy(主要是scrapy不太好装…),直接使用了requests请求,但是要解析数据,那么问题来了


问题1:

  • 使用的是python3.7的环境,解析数据要用xpath,系统是mac

    pip install lxml
    

    一分钟后。。。下载成功

  • 开始写代码,

    from lxml import etree
    

    挂了…,lxml中竟然没有etree模块

  • 换个方法

    from lxml import html
    et = html.etree
    

    依然挂了…

解决:

  • 开始找解决办法
    百度中。。。,找了一堆的方法,全部失败
    google中。。。,又找了一堆的方法,全部失败
    即将放弃,准备切换python版本,开始水群。。。,群里大佬给了个阿里源的地址,恍然大悟!!!

    pip install -i https://mirrors.aliyun.com/pypi/simple/ lxml 
    
    from lxml import html
    et = html.etree
    print(et.HTML(response.content))
    

终于突破了这个问题

问题2:

  • 解析过后发现有些需要整个代码块转为字符串

    import xml.etree.ElementTree as ET
    print(ET.tostring(dom代码块, encoding='utf8'))
    
  • 数据是有了,但是不太对,中文出来的是十六进制的数据,没法继续了啊
    百度/Google,我又来了。。。

解决:

print(str(ET.tostring(dom代码块, encoding='utf8'), 'utf-8'))

本文链接:时光不写博客

你可能感兴趣的:(Python)