爬虫6 使用xpath语法,解析HTML

简述:BeautifulSoup 外, python常用的解析HTML、XML的第三方库:lxml, lxml中语法为xpath

  1. 使用爬取的页面数据,来定义一个对象。

  2. 使用xpath来解析这个对象中的标签树。

"""lxml使用xpath语法,来解析HTML"""

from lxml import etree
import requests
from fake_useragent import UserAgent


url = "https://www.qidian.com/rank/yuepiao?page=1"

headers = {
    'User-Agent': UserAgent().random
}

r = requests.get(url, headers=headers)
print('---返回值: ', r.status_code, '---响应编码: ', r.encoding)
print('返回数据: ', r.text)

# 定义etree的HTML对象
e = etree.HTML(r.text)
# 使用.xpath语法,编写逻辑
# '//h4/a/text()': 某h4标签下的a标签中的内容
# '//p[@class="author"]/a[1]/text()': 某p标签,class属性为“author”,下面的第一个a标签,下的内容
book_names = e.xpath('//h4/a/text()')
authors = e.xpath('//p[@class="author"]/a[1]/text()')

print(book_names)
print(authors)

 

上一篇:python – xml.etree.ElementTree与lxml.etree:不同的内部节点表示?


下一篇:【Python从零到壹】使用XPath解析数据爬取起点小说网数据