PyQuery同样是一个和爬虫相关的模块。主要用于获取html中的class和id。
1.安装PyQuery
pip install PyQuery
2.导入
因为名字太长于是用as改为pq。
from pyquery import PyQuery as pq
3.设定url
这次来爬博客主页的新闻
url = 'https://www.csdn.net/?spm=1018.2226.3001.4476'
4.爬取内容
html = requests.get(url)
5.用text方法转成文本
并且赋值给变量html_text
html_text = html.text
6.对PyQuery初始化
可以用字符串、url和文件初始化,但是url初始化更简便,不需要第四步爬取内容,直接从第三步跳到这里。
字符串初始化
pq_str = pq(html_text)
url初始化
pq_url = pq(url)
文件初始化,但是麻烦,要把html放在一个html文件里进行操作。
pq_file = pq(filename='文件名.html')
7.获取class或id内容
class获取,前面要加".",以字符串初始化为例。
pq_get = pq_str('.class名')
id获取,前面要加"#"
pq_get = pq_str('#id名')
8.打印结果
print(pq_get)
但是我们会发现,打印出来的内容是以html形式输出的。
9.用text方法改进
我们可以用到.text方法,这样输出的都是文本。
print(pq_get.text)
效果如下:
CSDN首页上的也正好是这些。
附源码:
#导入
import requests
from pyquery import PyQuery as pq
#获取内容
url = 'https://www.csdn.net/?spm=1018.2226.3001.4476'
html = requests.get(url)
html_text = html.text
pq_str = pq(html_text)
pq_get = pq_str('.title')
print(pq_get.text())
总结
PyQuery适合用于一些复杂网页的class、id标签内容的获取,而且使用简便,非常适合入手。 记得点赞关注哦