Python3网络爬虫开发实践读书笔记 --- 第四章 解析库的使用

这一系列文章是我在阅读“Python3网络爬虫开发实践”一书以及其他线上资料学习爬虫过程中的一些笔记和心得,希望能分享给大家。

第四章 解析库的使用
章节结构:

  • XPath
  • Beautiful Soup
  • pyquery

具体内容:

  • XPath, XML Path Language

XPath提供了简洁明了的路径选择表达式。内置函数可以用于字符串,数值,时间的匹配,以及节点序列的处理等。以下是常用的规则:
Python3网络爬虫开发实践读书笔记 --- 第四章 解析库的使用_第1张图片

  • Beautiful Soup

Beautiful Soup是Python一个强大的HTML和XML解析库,它提供Python式的函数来处理导航搜索,修改分析树等功能。它通过把文档转换为Unicode编码,输出文档转换为UTF-8编码。它的解析依靠Python标准库中的解析器。
Python3网络爬虫开发实践读书笔记 --- 第四章 解析库的使用_第2张图片
使用方法:通过传入变量和解析器类型创建BeautifulSoup实例,用实例的prettify方法获得标准缩进的格式输出,调用不同属性,显示对应的节点,比如bs_object.title.string可以输出HTML中title节点,bs_object.a.href可以输出链接url等等。如果是比较复杂的分析,可以运用BS的查询方法,比如find_all,find,find_parents,find_next_siblings等,通过传入参数,像是id,name,class等等进行搜索。
BS除去HTML的搜索方法,还提供CSS选择器select方法。通过传入li,td等节点名称或者css的class名字,id等进行搜索选择。

  • pyquery

pyquery是一个css选择器强大的解析库。使用方法是导入PyQuery类,创建实例后传入变量,再通过类似pq_object(""),比如li来进行选择。pyquery也有很多搜索方法,比如find,parent,children,parents,siblings等。pq_object支持遍历,调用items会得到生成器,逐个遍历节点。
另外,我们可以通过调用attr和text方法获取属性和内容信息。

pyquery除去选择器功能,还可以进行节点更改,比如addClass和removeClass,remove等

你可能感兴趣的:(python,网页爬虫,读书笔记)