Requests-HTML 对 Requests 进行了封装,添加了解析 HTML 的接口,是一个 Python 的 HTML 解析库
由于该库是解析 html
对象,所以可以查看对应的 html
对象包含哪些方法与与属性。
html 对象的方法包括
-
find
:提供一个 css 选择器,返回一个元素列表; -
xpath
:提供一个 xpath 表达式,返回一个元素列表; -
search
: 根据传入的模板参数,查找 Element 对象; -
search_all
:同上,返回的全部数据;
html 对象的属性包括
-
links
:返回页面所有链接; -
absolute_links
:返回页面所有链接的绝对地址; -
base_url
:页面的基准 URL; -
html
,raw_html
,text
:以 HTML 格式输入页面,输出未解析过的网页,提取页面所有文本;
示例:爬取下面网站对于的网站名和网址
国外网站大全|世界网站排名|全球知名网站_世界各国网址大全
from requests_html import HTMLSession
session = HTMLSession()
page_size = int(input("请输入总页码:"))
for page in range(1, page_size + 1):
world = (f'http:///?t=5star&page={page}')
= 'gb2312'
# = "gb2312"
# print()
print("正在采集数据", )
title_a = ('dl>dt>a')
for item in title_a:
name =
url = ['href']
with open('', "a+", encoding="utf-8") as f:
(f"{name},{url}\n")
-
,设置了网页解析编码;
-
('dl>dt>a')
通过 css 选择器,查找所有的网页标题元素; -
提取网页标题内容;
-
['href']
获取元素属性,即网站域名
输出: