下所有的< a>标签
[
,
, …]
soup.select('a[href^="http://www.santostang.com/"]'):找所有链接以http://www.santostang.com/开始的
标签
得到的结果是:
[,
首页,
关于我,
文章搜索,
登录]
```
5.3 使用lxml解析网页
一些比较流行的解析库
Xpath语法(如lxml),同样是效率比较高的解析方法。lxml使用C语言编写,解析速度比不使用lxml解析器的BeautifulSoup快一些。
5.3.2 使用lxml获取博客标题
使用lxml提取网页源代码数据的3种方法
XPath选择器
CSS选择器
BeautifulSoup的find()方法
和BeautifulSoup相比,lxml还多了一种XPath选择器方法。
XPath是一门在XML文档中查找信息的语言。
XPath使用路径表达式来选取XML文档中的节点或节点集,也可以用在HTML获取数据中。
```py
import requests
from lxml import etree
link = "http://www.santostang.com/"
headers = {'User-Agent' : 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'}
r = requests.get(link, headers= headers)
html = etree.HTML(r.text) # 解析为lxml的格式
title_list = html.xpath('//h1[@class="post-title"]/a/text()') # 用XPath读取里面的内容
print (title_list)
//:无论在文档中什么位置
//h1:所有