前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python使用pyQuery解析HTML内容

Python使用pyQuery解析HTML内容

作者头像
机器学习AI算法工程
发布2018-03-13 14:41:25
2.3K0
发布2018-03-13 14:41:25
举报

pyQuery 是 jQuery 的Python实现,如果对Web前端有了解,特别是有用过 jQuery 的,那么 pyQuery 将会是你处理HTML内容的最佳选择。教程基于如下环境:

  • 系统: Windows 7 64位
  • Python版本: 2.7

安装pyQuery

pyQuery 需要通过 ez_install 安装。

1,下载 ez_install.py 脚本,右键保存即可 https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py。方便安装,放在D盘根目录下。

2,运行 cmd (使用快捷键 Win+r,输入 cmd),执行如下命令:

d:
python ez_setup.py install

若出现如下错误,

UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xb0 in position 1: ordinal not in range(128) Something went wrong during the installation. See the error message above.

是因为安装 setuptools 不成功。解决方法如下:

打开C:\Python27\Lib(Python的安装目录)下的 mimetypes.py 文件,找到大概256行的

default_encoding = sys.getdefaultencoding()

在这行前面添加三行:

if sys.getdefaultencoding() != 'gbk':      reload(sys)      sys.setdefaultencoding('gbk')  default_encoding = sys.getdefaultencoding()

保存后再次安装 ez_install,成功的话最终会输出

Installed e:\program files\python2\lib\site-packages\setuptools-5.7-py2.7.egg
Processing dependencies for setuptools==5.7
Finished processing dependencies for setuptools==5.7

3,安装 pyquery

easy_install pyquery

安装成功则最后输出

Installed e:\program files\python2\lib\site-packages\cssselect-0.9.1-py2.7.egg
Finished processing dependencies for pyquery

使用 pyQuery 解析HTML内容

代码实例如下:

from pyquery import PyQuery as pyqhtml = '''<html>    <title>这是标题</title><body>    <p id="hi">Hello</p>    <ul>        <li>list1</li>        <li>list2</li>    </ul></body></html>'''jq = pyq(html)print jq('title')            # 获取 title 标签的源码# <title>这是标题</title>print jq('title').text()     # 获取 title 标签的内容# 这是标题print jq('#hi').text()       # 获取 id 为 hi 的标签的内容# Helloli = jq('li')                # 处理多个元素for i in li:    print pyq(i).text()# list1# list2

所以对Web前端有所了解的话,使用起来真是非常得心应手。

更多用法可以查看官方的API文档:http://pyquery.readthedocs.org/en/latest/api.html,或是http://www.geoinformatics.cn/lab/pyquery/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-01-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据挖掘DT数据分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装pyQuery
  • 使用 pyQuery 解析HTML内容
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档