作者:Sunshine5585 | 来源:互联网 | 2023-10-12 10:14
篇首语:本文由编程笔记#小编为大家整理,主要介绍了python解析HTML之:PyQuery库的介绍与使用相关的知识,希望对你有一定的参考价值。本篇大部分转载于https
篇首语:本文由编程笔记#小编为大家整理,主要介绍了python解析HTML之:PyQuery库的介绍与使用相关的知识,希望对你有一定的参考价值。
本篇大部分转载于https://www.jianshu.com/p/c07f7cd1b548
先放自已自己解析techweb一个网站图片的代码
from pyquery import PyQuery as pq
headers = {‘User-Agent‘:‘Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 ‘
‘(KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36‘}
def get_info(url):
html = requests.get(url,headers =headers,verify=False)
d = pq(html.content)
doc = d("div").filter(".list_con")
doc = doc("div").filter(".picture_text")
for tr in doc.items():
temp =tr.find("img")
print(temp.attr("src"))
if __name__ == "__main__":
get_info("http://mi.techweb.com.cn/")
前言
Python关于爬虫的库挺多的,也各有所长。了解前端的也都知道, jQuery 能够通过选择器精确定位 DOM 树中的目标并进行操作,所以我想如果能用 jQuery 去爬网页那就 cool 了。
就搜了下看 Python 有没有与 DOM 相关的库什么的,还真找到了—— PyQuery !
PyQuery简介
pyquery相当于jQuery的python实现,可以用于解析HTML网页等。它的语法与jQuery几乎完全相同,对于使用过jQuery的人来说很熟悉,也很好上手。
引用作者的原话就是:
“The API is as much as possible the similar to jquery.” 。
安装
使用 pip 或者 easy_install 都可以。
注意:由于 pyquery 依赖于 lxml ,要先安装 lxml ,否则会提示失败。
- 安装lxml:https://pypi.python.org/pypi/lxml/2.3/ (建议直接下载安装包,方便快捷);
- 安装pyquery:easy_install pyquery 或者pip install pyquery;
- 验证:输入
import pyquery
回车不报错即安装成功;
初始化
有 4 种方法可以进行初始化:
可以通过传入 字符串、lxml、文件 或者 url 来使用PyQuery。
from pyquery import PyQuery as pq
from lxml import etree
d = pq("")
现在,d 就像 jQuery 中的 $ 一样了。
示例
通过一个简单的例子快速熟悉 pyquery 的用法,传入文件 example.html,内容如下:
<div>
<tr class="item-0">
<td>first sectiontd>
<td>1111td>
<td>17-01-28 22:51td>
tr>
<tr class="item-1">
<td>second sectiontd>
<td>2222td>
<td>17-01-28 22:53td>
tr>
div>
python 程序: