爬虫入门pyquery简介

xingzhui xingzhui     2022-10-01     171

关键词:

PyQuery

目前最新的版本是1.3,基于最新版本进行介绍。
主要根据PyQuery的官方文档进行了更新。

from pyquery import PyQuery as pq
from lxml import etree
import urllib
doc=pq('<p id="hello" class="hello"></p>')#解析文档的基本方法
p=doc('p')#获取p标签
print(p.attr('id'))#获取p标签的id属性的值
p.attr('id','plop')#改变p标签的id属性的值为plop
print(p.attr('id'))
p.attr.id='snow'#使用python的方式改变id属性
print(p.attr.id)
p.attr['id']='ola'
print(p.attr['id'])
p.attr(id='hello',class_='hello2')
print(p)
hello
plop
snow
ola
<p id="hello" class="hello2"/>

CSS内容

p.add_class('toto')#增加class内容
# print(p)
p.toggle_class('titi toto')#切换class内容
# print(p)
p.remove_class('titi')#移除class
# print(p)
#添加style,以font-size为例
p.css.font_size='16px'
p.css['font-size']='16px'
p.css={'font-size':'17px'}

Manipulating

#向标签内容的尾部添加一些string
p.append(' check out <a href="http://www.baidu.com">百度一下</a>')
#pp()
#也可以向标签的头部添加
p.prepend('hello again! ')
#pp()
#或者使用这两个命令添加到其他文档或者标签的内容中
d=pq('<html><body><div id="test"><a href="http://python.org">python</a> !</div></body></html>')
p.prepend_to(d('#test'))#将p的内容添加到d的id为test的标签里面,占据最开始的位置
#print(d('#test').html())#打印出id为test的标签的内容

p.insert_after(d('#test'))#把p标签放在id为test的标签后面
#print(d('body').html())
p.insert_before(d('#test'))#把p标签插入到id为test的标签前面
#print(d('body').html())#可以看出来,p插入到了id为test的标签的前面

#移除一个元素
d=pq('<html><body><p id="id">Yeah!</p><p>python rocks !</p></div></html>')
d.remove('p#id')#移除了p标签的id属性
#print(d('body').html())

#将标签的内容移除
d('p').empty()
#print(d('p'))

#可以将两个PyQuery对象连接起来:
print(pq('<div>Yeah !</div>').add_class('myclass') + pq('<b>cool</b>'))

Traversing

d = pq('<p id="hello1" class="test1"><a>1</a></p><p id="hello2" class="test2"><a>2</a></p>')

#print(d('p').filter('.test1'))#按类选择,class名为test1的p标签。
#print(d('p').filter('#hello2'))#按id选择,id名为hello2的p标签
#print(d('p').eq(0))#第一个p标签
#print(d('p').eq(1))#第二个p标签

"""Return PyQuery of only the element with the provided index:
    >>> d = PyQuery('<p class="hello">Hi</p><p>Bye</p><div></div>')
    >>> d('p').eq(0)
    [<p.hello>]
    >>> d('p').eq(1)
    [<p>]
    >>> d('p').eq(2)
    []
"""

#查询嵌套的元素
#print(d('p').find('a'))
#print(d('p').eq(1).find('a'))

API

http://pythonhosted.org/pyquery/api.html
请参考官方文档的介绍。

Scraping

#PyQuery可以使用url载入html文档,默认使用python的urllib库
print(pq('http://www.baidu.com'))
#如果安装了request库,也可以使用并且可以使用requests的大多参数
pq('http://duckduckgo.com/', headers={'user-agent': 'pyquery'})
pq('https://duckduckgo.com/', {'q': 'foo'}, method='post', verify=True)

如果您觉得感兴趣的话,可以添加我的微信公众号:一步一步学Python

爬虫:pyquery的使用(代码片段)

一:简介PyQuery库是jQuery的Python实现,可以用于解析HTML网页内容,是一个非常强大又灵活的网页解析库。--》官方文档地址--》jQuery参考文档二:初始化初始化的时候一般有三种传入方式:传入字符串,传入url,传入文件。(1):... 查看详情

python爬虫学习记录解析库的使用——pyquery(代码片段)

一、简介CSS选择器,jQuery二、初始化1、字符串初始化frompyqueryimportPyQueryaspqhtml="""<div><ul><liclass="item-0">firstitem</li><liclass="item-1"&g 查看详情

常见的爬虫分析库-爬虫之pyquery

PyQuery是Python仿照jQuery的严格实现。语法与jQuery几乎完全相同。官方文档:http://pyquery.readthedocs.io/安装1pipinstallpyquery初始化字符串初始化1234567891011121314html = ‘‘‘<div>    <ul> &n 查看详情

用pyquery5行代码爬取百度热点新闻(代码片段)

 导读:学习python爬虫很久了,一直习惯于requests抓取+xpath解析的两步走套路,直到我今天发现了pyquery这个爬虫利器后,才意识到python的世界没有最简,只有更简……2020-03-06 21:22:12 01pyquery简介pyquery是Python的一... 查看详情

爬虫学习笔记pyquery模块

PyQuery模块也是一个解析html的一个模块,它和BeautifulSoup用起来差不多,它是jquery实现的,和jquery语法差不多,会用jquery的人用起来就比较方便了。Pyquery需要依赖lxml模块,不装的话,使用会报错。安装  12pipinstalllxmlpipinstal... 查看详情

爬虫学习2----pyquery(代码片段)

这篇文章主要介绍爬虫的pyquery模块初始化1.字符串初始化frompyqueryimportPyQueryaspqhtml=‘‘‘<divclass="wrap"><divid="container"><ulclass="list"><liclass="item-0">firstitem</li><liclass="item-1 查看详情

一起学爬虫——pyquery常用用法总结(代码片段)

什么是PyQueryPyQuery是一个类似于jQuery的解析网页工具,使用lxml操作xml和html文档,它的语法和jQuery很像。和XPATH,BeautifulSoup比起来,PyQuery更加灵活,提供增加节点的class信息,移除某个节点,提取文本信息等功能。初始化PyQuery对... 查看详情

python之爬虫pyquery库的使用(代码片段)

PyQuery库也是一个非常强大又灵活的网页解析库,如果你有前端开发经验的,都应该接触过jQuery,那么PyQuery就是你非常绝佳的选择,PyQuery是Python仿照jQuery的严格实现。语法与jQuery几乎完全相同,所以不用再去费心去记一些奇怪的... 查看详情

python爬虫学习第四课(代码片段)

python爬虫学习之PyQuery库PyQuery练习一PyQuery练习二PyQuery练习一#===========Pyquery练习一================= 查看详情

如何入门爬虫(基础篇)

一、爬虫入门Python爬虫入门一之综述Python爬虫入门二之爬虫基础了解Python爬虫入门三之Urllib库的基本使用Python爬虫入门四之Urllib库的高级用法Python爬虫入门五之URLError异常处理Python爬虫入门六之Cookie的使用Python爬虫入门七之正则... 查看详情

python爬虫知识点总结pyquery详解(代码片段)

官方学习文档:http://pyquery.readthedocs.io/en/latest/api.html一、什么是PyQuery?答:强大有灵活的网页解析库,模仿jQuery实现。如果你觉得正则表达式写起来太麻烦,如果你觉的BeautifulSoup语法太难记,如果你熟悉jQuery的语法,那么PyQuery... 查看详情

python爬虫编程思想(67):使用pyquery修改节点

目录1. 添加和移除节点的样式(addClass和removeClass)2.修改节点属性和内容(attr、removeAttr、text和html) 查看详情

爬虫神器之pyquery实用教程,50行代码爬取穷游网

爬虫神器之PyQuery实用教程(二),50行代码爬取穷游网前言上篇文章​​PyQuery(一)​​回顾。今天来介绍具体PyQuery的使用方法。穷游网目标与分析开始之前,按照之前的套路一步步来。一、先确立目标。我们要爬取的目标是:... 查看详情

python爬虫编程思想(63):pyquery基础知识

目录1 安装pyquery2pyquery的基本用法         在前面的文章章,我们介绍了BeautifulSoup的用法。BeautifulSoup是一个非常强大的HTML代码解析库,支持多种选择器,可以混合使用这些选择器,使用起来... 查看详情

爬虫入门selenium用法简介

Selenium是什么?一句话,自动化测试工具。它支持各种浏览器,包括Chrome,Safari,Firefox等主流界面式浏览器。如果你在这些浏览器里面安装一个Selenium的插件,那么便可以方便地实现Web界面的测试。换句话说叫Selenium支持这些浏... 查看详情

python爬虫编程思想(63):pyquery基础知识

目录1 安装pyquery2pyquery的基本用法         在前面的文章章,我们介绍了BeautifulSoup的用法。BeautifulSoup是一个非常强大的HTML代码解析库,支持多种选择器,可以混合使用这些选择器,使用起来... 查看详情

python爬虫编程思想(64):在pyquery中使用css选择器(代码片段)

        pyquery的CSS选择器用于指定CSS代码,并通过CSS代码选取HTML文档中对应的节点。创建一个CSS选择器需要创建一个PyQuery对象,PyQuery类的构造方法需要传入一个HTML文档(可以是字符串、URL或文件形... 查看详情

爬虫-scrapy框架简介与入门(代码片段)

...量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。Scrapy使用了Twisted[‘tw?st?d](其主要对手是Tornado)异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己... 查看详情