from lxml import etree报错

简介: 写一个小型的爬虫懒得用scrapy(主要是scrapy不太好装...),直接使用了requests请求,但是要解析数据,那么问题来了问题1:使用的是python3.7的环境,解析数据要用xpath,系统是macpip install lxml一分钟后。

写一个小型的爬虫懒得用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'))

参考链接:时光不写博客

相关文章
|
Web App开发 测试技术
Selenium+python之隐藏浏览器的“Chrome正在受到自动软件的控制“提示语
Selenium+python之隐藏浏览器的“Chrome正在受到自动软件的控制“提示语
588 0
|
开发工具
Python----使用schedule模块可以非常简单地设置定时任务
Python----使用schedule模块可以非常简单地设置定时任务
1514 0
|
12月前
|
JSON 前端开发 JavaScript
程序员必知:字符串转换成JSON的三种方式
程序员必知:字符串转换成JSON的三种方式
615 0
|
Python
Python报错: No module named 'lxml'
Python报错: No module named 'lxml'
493 1
|
10月前
|
SQL OLAP 数据库
OceanBase怎么样
【8月更文挑战第9天】OceanBase怎么样
158 4
|
8月前
|
缓存 NoSQL Redis
docker运行redis镜像
这篇文章介绍了如何使用Docker运行Redis镜像,并提供了启动和配置Redis容器的具体命令和步骤。
658 0
|
JSON Java API
原生Feign使用详解(HTTP客户端)(一)
原生Feign使用详解(HTTP客户端)(一)
416 1
|
Ubuntu 开发工具 git
ubuntu20.04编译安装运行emqx - 蓝易云
以上就是在Ubuntu 20.04上编译安装运行EMQX的步骤。
479 0
|
Python Windows
六、【windows】更改 Python 的 pip install 默认安装依赖路径,及cmd下pip安装成功的包,pycharm却找不到
六、【windows】更改 Python 的 pip install 默认安装依赖路径,及cmd下pip安装成功的包,pycharm却找不到
2656 0
六、【windows】更改 Python 的 pip install 默认安装依赖路径,及cmd下pip安装成功的包,pycharm却找不到
|
数据挖掘 API 开发工具
天猫商品详情数据接口(Tmall.item_get)
天猫商品详情数据接口(Tmall.item_get)
天猫商品详情数据接口(Tmall.item_get)