from lxml import etree报错-阿里云开发者社区

开发者社区> 时光不写博客> 正文

from lxml import etree报错

简介: 写一个小型的爬虫懒得用scrapy(主要是scrapy不太好装...),直接使用了requests请求,但是要解析数据,那么问题来了 问题1: 使用的是python3.7的环境,解析数据要用xpath,系统是mac pip 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'))

参考链接:时光不写博客

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9481 0
关于SpringMVC整合freemarker报错问题
错误信息: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'FreeMarkerConfigurer' defined in class path resource [spring-mvc.
1108 0
Maven发布封装到中央仓库时候报错:no default secret key: No secret key
Maven发布封装到中央仓库时候报错:no default secret key: No secret key
13 0
Crystal Reports拉报表报错:Error detected by database DLL
问题描述: 最近在使用Crystal Reports打印报表时,提示错误信息:“Error detected by database DLL.” 如下图: 经查找,是因为数据库名称不同造成的; 用户的测试环境使用的库名称为ClaimsReport; 我们本地使用的库名称为Claims;   解决方案: 打开报表工具Crystal Reports 8.5,进入Database->Set Location界面,如下图:   把红框中数据库名称去掉,然后点击按钮【Done】即可。
1070 0
Android报错解决 UIL doesn't support scheme(protocol) by default [file:/]. You should impleme
版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/49000015 UIL doesn't support scheme(protocol) by default [file:/].
661 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10841 0
关于ORACLE IMPDP 报错ORA-29913 ORA-31693 ORA-01861的原因
导入语句如下: impdp system/'Nnrjt$739rt'  job_name=sec_dmp tables=seccore.syn_event remap_schema=seccore:sechis dumpfile=BAK:expdp_20160523.
1576 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13165 0
【maven】 pom.xml内容没有错,但一直报错红叉 解决办法
1.首先看一下下面的这两个项目,一个是新建的,一个是原来的老项目 2.myEcplise中是点击如下图 Maven4MyEcplise, Ecplise中也是右键,只不过点击Mavene而已,两个一样 3.  强制更新Maven 4.一会 红叉就消失了
1929 0
git拉取分支报错:fatal:‘XXX' is not a commit and a branch ‘XXX' cannot be created from it
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 问题出现的步骤 首先通过SourceTree新建一个新的分支,新建分支的时候是基于远程分支的某次提交 然后将新建的分支推送到远程 最后在本地git目录文件夹中,通过...
4935 0
+关注
时光不写博客
高级菜鸟
78
文章
4
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载