爬虫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文本的元素
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2022年6月8日 下午11:46
下一篇 2022年6月9日 上午6:36


相关推荐

  • QT QStringList 用法

    QT QStringList 用法QTQStringList用法

    2022年6月3日
    126
  • 大数据时代下的个人知识管理

    大数据时代下的个人知识管理前言说到个人知识管理,在之前通过网络查询了一些资料,定义看起来让人蠢蠢欲动,作用是能快速找到自己收藏的文档。每个人或多或少都必须的有一些文件管理的习惯,管理就是一种习惯,利用专业的软件可以更容易的养成个人知识管理的习惯。当不小心清空了自己收藏了6年的浏览器收藏夹,“幻想”有一款软件,让我们在查找自己之前保存的资料的时候可以不用太费力气,不至于打断自己的思路,不影响自己的工程进度。关于大数据

    2022年5月28日
    36
  • java中数组初始化方法_java数组初始化赋值

    java中数组初始化方法_java数组初始化赋值java中初始化数组的方式有几种发布时间:2020-06-0116:12:45来源:亿速云阅读:153作者:鸽子三种初始化方式:1、静态初始化:创建+赋值2、动态初始化:先创建再赋值3、默认初始化:创建之后若不赋值则会被赋对应数据类型的默认值我们来看一下具体代码:publicclassTest3{publicstaticvoidmain(String[]args){//1、声明…

    2022年10月19日
    4
  • flex java整合小试身手

    flex java整合小试身手flexmxml 代码如下 s Applicationx fx http ns adobe com mxml 2009 xmlns s library ns adobe com flex spark xmlns mx library ns adobe com flex mx width 657 height

    2026年3月26日
    2
  • Java拉姆达表达式

    Java拉姆达表达式语法 lambda 表达式的重要特征变量作用域

    2026年3月16日
    2
  • python为什么叫爬虫_检测安全

    python为什么叫爬虫_检测安全前言周一一早网管收到来自阿里云的一堆警告,发现我们维护的一个网站下有数十个被挂马的文件。网管直接关了vsftpd,然后把警告导出邮件给我们。取出部分大致如下:服务器IP/名称木马文件路径更新时间木马类型状态(全部)*.*.*.*/path/*144.gif2017/8/75:53Webshell待处理*.*.*.*/path/*…

    2026年4月18日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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