数据之路 - Python爬虫 - PyQuery库

一、什么是PyQuery?

PyQuery库也是一个非常强大又灵活的网页解析库。

官网地址:http://pyquery.readthedocs.io/en/latest/

二、PyQuery基本库使用

html = ‘‘‘
<div>
  <ul>
    <li class="item-0">first item<lli>
    <li class="item-1"><a href="link2.html">second item</a><lli>
    <li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li>
    <li class ="item-1 active"><a href="link4 . html">fourth item</a></li>
    <li class="item-0"><a href="link5.html">fifth item</a></li>
  </ul>
</div>
‘‘‘

1.初始化

# 字符串初始化
from pyquery import PyQuery as pq
html = ""
doc = pd(html)
print(doc(‘li‘))

# URL初始化
from pyquery import PyQuery as pq
html = ""
doc = pq(url=‘ https://cuiqingcai.com’)
print(doc(’title‘))

# 文件初始化
from  pyquery import  PyQuery as pq
html = ""
doc = pq(filename=’demo.html’)
print(doc(’li’))  

2.CSS选择器-获取标签

from pyquery import PyQuery as pq
doc = pd(html)

# 子元素
items = doc(‘.list‘)
lis = items.find(‘li‘)

lis = items.children()
lis = items.children(‘.active‘)
print(lis)

# 父元素
items = doc(‘.list‘)
container =items.parents()
print(container)

parent = items.parents(‘.wrap‘)
print(parent)

# 兄弟元素
li = doc(‘.list.item-0.active‘)
print(li.siblings())
print(li.siblings(‘.active‘))

3.CSS选择器-获取属性

from pyquery import PyQuery as pq
doc = pd(html)
a = doc(‘.item-0.active a‘)
print(a)
print(a.attr.href)
print(a.attr(‘href‘)

4.获取内容

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

5.获取HTML

from pyquery import PyQuery as pq
doc = pd(html)
li = doc(‘.item-0.active‘)
print(li)
print(li.html())

原文地址:https://www.cnblogs.com/Iceredtea/p/11294266.html

时间: 2024-07-30 23:22:19

数据之路 - Python爬虫 - PyQuery库的相关文章

数据之路 - Python爬虫 - Ajax

一.Ajax数据爬取 1.Ajax介绍 Ajax,全称为Asynchronous JavaScript and XML,即异步的JavaScript和XML. 它不是一门编程语言,而是利用JavaScript在保证页面不被刷新.页面链接不改变的情况下与服务器交换数据并更新部分网页的技术.发送Ajax请求到网页更新过程,简单分为以下3步:发送请求:解析内容:渲染网页.Ajax具有特殊的请求类型,它叫作xhr. 2.Ajax数据爬取 # 首先,定义一个方法来获取每次请求的结果. 在请求时,page是

数据之路 - Python爬虫 - Scrapy框架

一.Scrapy框架入门 1.Scrapy框架介绍 Scrapy是一个基于Twisted的异步处理框架,是纯Python实现的爬虫框架,其架构清晰,榄块之间的榈合程度低,可扩展性极强,可以灵活完成各种需求. Engine:引擎,处理整个系统的数据流处理.触发事务,是整个框架的核心. Item:项目,它定义了爬取结果的数据结构,爬取的数据会被赋值成该Item对象. Scheduler:调度器,接受引擎发过来的请求并将其加入队列中, 在引擎再次请求的时候将请求提供给引擎. Downloader:下载

数据之路 - Python爬虫 - PySpider框架

1.PySpider基本功能 提供方便易用的WebUI系统,可视化地编写和调试爬虫. 提供爬取进度监控. 爬取结果查看.爬虫项目管理等功能. 支持多种后端数据库,如MySQL. MongoDB. Redis. SQLite. Elasticsearch. PostgreSQL. 支持多种消息队列,如RabbitMQ. Beanstalk. Redis. Kombu. 提供优先级控制.失败重试.定时抓取等功能. 对接了PhantomJS,可以抓取JavaScript渲染的页面. 支持单机和分布式部

数据之路 - Python爬虫 - Json模块与JsonPath

一.什么是Json? json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构. 对象:对象在js中表示为{ }括起来的内容,数据结构为 { key:value, key:value, ... }的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是数字.字符串.数组.对象这几种. 数组:数组在js中是中括号[ ]括起来的

数据之路 - Python爬虫 - 正则表达式

一.常用匹配模式 \w 匹配字母数字及下划线 \W 匹配f非字母数字下划线 \s 匹配任意空白字符,等价于[\t\n\r\f] \S 匹配任意非空字符 \d 匹配任意数字 \D 匹配任意非数字 \A 匹配字符串开始 \Z 匹配字符串结束,如果存在换行,只匹配换行前的结束字符串 \z 匹配字符串结束 \G 匹配最后匹配完成的位置 \n 匹配一个换行符 \t 匹配一个制表符 ^ 匹配字符串的开头 $ 匹配字符串的末尾 . 匹配任意字符,除了换行符,re.DOTALL标记被指定时,则可以匹配包括换行符

python中pyquery库的css选择器实战解析

1.pyquery部分选择器解释 """pyquery的CSS选择器方法""" from pyquery import PyQuery html = """ <div id="container"> <table class="tablelist" cellpadding="0" cellspacing="0">

Python 爬虫 解析库的使用 --- XPath

一.使用XPath XPath ,全称XML Path Language,即XML路径语言,它是一门在XML文档中查找信息的语言.它最初是用来搜寻XML文档的,但是它同样适用于HTML文档的搜索. 所以在爬虫时,我们完全可以使用XPath来做相应的信息提取.本次随笔中,我们就介绍XPath的基本用法. 1.XPath概览 XPath的选择功能十分强大,它提供了非常简洁明了的路径选择表达式.另外,它还提供了超过100个内建函数,用于字符串.数值.时间的匹配以及节点.序列的处理等.几乎所有我们想要定

Python爬虫常用库的安装及其环境配置

Python常用库的安装 urllib.re           这两个库是Python的内置库,直接使用方法import导入即可. requests            这个库是请求的库.我们需要使用执行文件pip3来进行安装.文件处于C:\Python36\Scripts下,我们可以先将此路径设为环境变量.在命令行中输入pip3 install requests进行安装.安装完成后进行验证. >>> import requests >>> requests.get

python爬虫常用库

请求库: 1. requests 这个库是爬虫最常用的一个库 2. Selenium Selenium 是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击.下拉等操作 对于一些用JS做谊染的页面来说,这种抓取方式是非常有效的. 3.ChomeDrive 安装了这个库,才能驱动Chrome浏览器完成相应的操作 4.GeckoDriver 使用W3C WebDriver兼容客户端与基于Gecko的浏览器进行交互的代理. 5.PhantomJS PhantomJS 是一个无界面 .可