PyQuery 用法:

(1) 前面我们爬取一个网页,都是使用正则表达式来提取想要的信息,但是这种方式比较复杂,一旦有一个地方写错,就匹配不出来了,因此我们可以使用 PyQuery
(2) PyQuery 是一个网页解析库,如果你觉得正则写起来太麻烦,如果你觉得 BeautifulSoup 语法太难记,如果你熟悉 jQuery 的语法,那么,PyQuery就是你绝佳的选择
(3) 提供了和 jQuery 类似的语法来解析 HTML 文梢, 支持 CSS 选择器,安装方法:pip3 install pyquery

from pyquery import PyQuery as pq

html = '''
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>首页</title>
</head>
<body class="item">
<p class="item" id="username">This is your username</p>
<p class="item" id="password">This is your password</p>
</body>
</html>
''' doc = pq(html) # 初始化一个PyQuery对象,可以传入字符串 、传入URL 、传入文件名
# 也可以传入URL或文件名:pq(url="http://www.baidu.com/") 、pq(filename="./index.html")
result = doc('title') # 表示提取<title>节点,结果为:<title>首页</title>
result = doc('.item') # 可以基于CSS选择器来进行提取,这里表示提取class="item"的所有节点
result = doc.find('p') # find()方法会将符合条件的所有节点选择出来,这里表示提取所有<p>节点
result = doc.find('p').attr('id') # attr()用于获取节点的属性值,这里表示获取id属性的值,结果为:username
result = doc.find('p').text()) # text()用于获取节点的文本内容,结果为:This is your username This is your password

使用 PyQuery的更多相关文章

  1. pyquery的问题

    在使用pyquery时发现一些问题, 1.爬取的html中如果有较多的错误时,不能很好的补全. 2.如果要获取某个class中的内容时,如果内容太多不能取完整!只能取一部分. 这个在现在的最新版本中还 ...

  2. python爬虫神器PyQuery的使用方法

    你是否觉得 XPath 的用法多少有点晦涩难记呢? 你是否觉得 BeautifulSoup 的语法多少有些悭吝难懂呢? 你是否甚至还在苦苦研究正则表达式却因为少些了一个点而抓狂呢? 你是否已经有了一些 ...

  3. windows下python安装pyquery

    安装pyquery之前首先要明确一点,easyinstall 是一款python包管理器,类似于node的npm,用于安装python的扩展包,它安装的包是以*.egg的方式. 要安装pq需要经历以下 ...

  4. Python开发包推荐系列之xml、html解析器PyQuery

    使用python,喜欢她的简洁是一方面,另外就是它有着丰富的开发包 好用又方便 接下来会给大家推荐一系列很赞的开发包. 在解析html.xml过程中,我们有不少的包可以用.比如bs.lxml.xmlt ...

  5. python - PyQuery

    偶尔的机会,知道这么个扩展,手贱翻了下文档,发现似乎挺有意思,遂记录一二. what: 这是一个python版本的jquery,而且是后端执行的,至少官方是这么说的: pyquery allows y ...

  6. 【pyQuery】抓取startup news首页

    #! /usr/bin/python # coding: utf-8 from pyquery import PyQuery c=PyQuery('http://news.dbanotes.net/' ...

  7. 【pyQuery分析实例】分析体育网冠军联盟比赛成绩

    目标地址:http://www.espncricinfo.com/champions-league-twenty20-2012/engine/match/574265.html liz@nb-liz: ...

  8. 【PyQuery】PyQuery总结

    pyquery库是jQuery的Python实现,可以用于解析HTML网页内容, 官方文档地址是:http://packages.python.org/pyquery/. 二.使用方法 ? 1 fro ...

  9. win7下python安装pyquery

    安装pyquery之前首先要明确一点,easyinstall 是一款python包管理器,类似于node的npm,用于安装python的扩展包,它安装的包是以*.egg的方式. 要安装pq需要经历以下 ...

  10. Python抓取页面中超链接(URL)的三中方法比较(HTMLParser、pyquery、正则表达式) <转>

    Python抓取页面中超链接(URL)的3中方法比较(HTMLParser.pyquery.正则表达式) HTMLParser版: #!/usr/bin/python # -*- coding: UT ...

随机推荐

  1. 使用 js替换网页中的关键词为链接

    要求把一段html脚本中的疾病名添加到疾病库的链接,只添加一次,要避开超链接或图片链接. 最初是用的    str.replace('糖尿病', '<a href=...>糖尿病</ ...

  2. (笔记)Mysql命令create table:创建数据表

    create table命令用来创建数据表. create table命令格式:create table <表名> (<字段名1> <类型1> [,..<字段 ...

  3. 性能优化系列三:JVM优化

    一.几个基本概念 GCRoots对象都有哪些 所有正在运行的线程的栈上的引用变量.所有的全局变量.所有ClassLoader... 1.System Class.2.JNI Local3.JNI Gl ...

  4. e808. 建立菜单栏,菜单,菜单项

    When the user selects a menu item, it fires an action event. // Create the menu bar JMenuBar menuBar ...

  5. C# 线程池执行操作例子

    public partial class Form1 : Form { CountdownEvent hander = ); public static object lock_action = ne ...

  6. C# 一个多层循环中,break一次能跳出几个循环?

    public class BreakTest { public static void main(String[] args) { ; x<; x++) { ; y<; y++) { ; ...

  7. springmvc接口ios网络请求

    springmvc:   application/json;charset=utf-8的ios网络请求: 后台使用 @RequestBody注解参数接收:

  8. Oracle中已知字段名查询所在的表名

    select table_name from user_tab_columns where column_name = '字段名'; 这是网上查到的,地址如下:http://blog.163.com/ ...

  9. eclipse启动genymotion插件reg启动visual box 虚拟机

    Exception (VBoxManage): java.io.IOException: Cannot run program "D:\SoftwareInstall\Genymotion\ ...

  10. mysql Communication link failure, message from server: "Can't get hostname for your address"

    在连接mysql jdbc时候,抛出了 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Communicat ...