爬虫PyQuery「建议收藏」

爬虫PyQuery「建议收藏」–爬虫pyquery字符串初始化html=””” ……””””frompyqueryimportPyQueryaspqdoc=pq(html)print(doc(‘li’))–其实就是个css选择器,选出了所有的li标签url初始化frompyqueryimportPyQueryaspqdoc=pq(url=”http://www.baidu…

大家好,又见面了,我是你们的朋友全栈君。

–爬虫pyquery
字符串初始化

html="""
	......
""""
from pyquery import PyQuery as pq
doc=pq(html)
print(doc('li'))  --其实就是个css选择器,选出了所有的li标签

url初始化

from pyquery import PyQuery as pq
doc=pq(url="http://www.baidu.com")
print(doc('head'))

文件初始化

from pyquery import PyQuery as pq
doc=pq(filename='demo.html')
print(doc('li'))

基本的css选择器

html="""
	......
""""
from pyquery import PyQuery as pq
doc=pq(html)
print(doc('#container.list li'))

#表示id
.表示class,其他的用空格

查找元素

子元素

html="""
	......
""""
from pyquery import PyQuery as pq
doc=pq(html)
items=doc('.list')
lis=items.find('li')
print(lis)

children()函数查找子直接子标签,可以传参

父元素

html="""
	......
""""
from pyquery import PyQuery as pq
doc=pq(html)
items=doc('.list')
container=items.parent()
print(container)

parents()是返回祖先标签,有几个祖先返回几个值

parent=items.parents(’.wrap’) #只返回符合条件的祖先
print(parent)

兄弟元素(siblings)

html="""
	......
""""
from pyquery import PyQuery as pq
doc=pq(html)
li=doc('.list .item-0.active')
print(li.siblings())

遍历

html="""
	......
""""
from pyquery import PyQuery as pq
doc=pq(html)
lis=doc('li').items()  --生成可遍历的对象,generator类型
for li in lis:
	print(li)

获取信息

获取属性

html="""
	......
""""
from pyquery import PyQuery as pq
doc=pq(html)
a=doc('.item-0.active a')
print(a)
print(a.attr('href'))或者a.attr.href

获取文本

html="""
	......
""""
from pyquery import PyQuery as pq
doc=pq(html)
a=doc('.item-0.active a')
print(a)
print(a.text())

获取html

html="""
	......
""""
from pyquery import PyQuery as pq
doc=pq(html)
a=doc('.item-0.active')
print(a)
print(a.html())

DOM操作
删除增加类 removeClass addClass

html="""
	......
""""
from pyquery import PyQuery as pq
doc=pq(html)
li=doc('.item-0.active')
print(li)
li.removeClass('active')#在原文中把active这个单词删除了
print(li)
li.addClass('active')
print(li)

修改attr,css

html="""
	......
""""
from pyquery import PyQuery as pq
doc=pq(html)
li=doc('.item-0.active')
print(li)
li.attr('name','link')
print(li)
li.css('font-size','14px')
print(li)

remove:

html="""
	<div class="wrap">
		hello world
		<p></p>
	</div>
"""
from pyquery import PyQuery as pq
doc=pq(html)
wrap=doc('.wrap')
print(wrap.text())  #这样直接用text会把p标签也提取出来
wrap.find('p').remove() #如果你想只提取文字,那么你就要删除p标签
print(wrap.text())

伪类选择器

html="""
	......
""""
from pyquery import PyQuery as pq
doc=pq(html)
li=doc('li:first-child')#获取li的第一个元素
li=doc('li:last-child') #获取最后一个元素
li=doc('li:nth-child(2)')#获取指定位置的元素,从1开始
li=doc('li:gt(2)')#序号大于2的,从0开始
li=doc('li:nth-child(2n)')#序号是偶数的元素
li=doc('li:contains(second)')#包含second文本的元素
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/133426.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Wix 安装部署教程(七) 获取管理员权限

    Wix 安装部署教程(七) 获取管理员权限

  • js中加换行符

    js中加换行符

  • 手把手教你如何重装win10系统(win10怎么自己重装系统)

    **Win10系统重装教程(纯净版)**PS:红字部分事关电脑安危和个人信息安全,重装系统前必看重要提示➢准备8G或8G以上的空U盘。(制作U盘会格式化U盘,U盘内重要数据要事先备份好)。➢为了保证电脑内的资料安全,安装系统前需要将电脑内所有磁盘的所有重要数据备份到移动储存介质(不要备份到安装系统使用的U盘)。➢如有预装Office,务必记住自己激活Office时使用的Micr…

  • 超声波倒车雷达原理[通俗易懂]

    超声波倒车雷达原理[通俗易懂]汽车倒车中使用的倒车雷达防撞报警系统即是俗称的倒车雷达,在汽车倒车时,超声波倒车雷采用超声波测距原理探测汽车尾部离障碍物的距离,是汽车泊车辅助装置。倒车时,当汽车尾部探测到障碍物时,倒车雷达就实时动态显示离障碍物的距离,达到设定的安全警告值时,倒车雷达立即发出报警声,以警示驾驶员,辅助驾驶员安全倒车。现在大多数都配置有倒车雷达。倒车雷达电路种类较多,本文介绍基于单片机控制的倒车雷达系统,该系统采用…

  • DELL服务器数据恢复成功案例「建议收藏」

    DELL服务器数据恢复成功案例「建议收藏」DELLEqualLogicPS6100采用虚拟ISCSISAN阵列,为远程或分支办公室、部门和中小企业存储部署带来企业级功能、智能化、自动化和可靠性。以简化的管理、快速的部署及合理的价格满足了分支办公室和中小企业的存储需求,同时提供全套企业级数据保护和管理功能、可靠的性能、可扩展性和容错功能,是中型企业级存储的起点产品,但某些物理故障或其他操作都可能会对卷或存储造成破坏,因此对系列存储的数…

  • 数据库常见面试题(附答案)

    数据库常见面试题(附答案)1.事务四大特性原子性,要么执行,要么不执行隔离性,所有操作全部执行完以前,其它会话不能看到过程一致性,事务前后,数据总额一致持久性,一旦事务提交,对数据的改变就是永久的2.数据库隔离级别,每个级别会引发什么问题,mysql默认是哪个级别脏读:事务B读取事务A还没有提交的数据不可重复读:两次事务读的数据不一致幻读:事务A修改了数据,事务B也修改了数据,这时在事务A看

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号