Python-HTML-爬虫:爬取小说章节
-
[使用 requests 库爬取HTML网页内容](#使用 requests 库爬取HTML网页内容)
-
[使用 from lxml import etree 解析html 网页标签及内容](#使用 from lxml import etree 解析html 网页标签及内容)
-
需要一定的 html css JavaScript基础
使用 requests 库爬取HTML网页内容
python
import requests
#使用requests库获取网页内容
# 爬取 地址为 https://xx/showchapter/906233.html 的网页内容
# 注意,1单独爬取静态网页,2动态网页需要使用selenium
# 请熟练使用 requests库,
# 普法:政府类网站不能爬,公民信息不能保存,大公司网站不要爬,容易被追踪,涉及版权知识产权的信息不要爬,容易惹纠纷。
# 爬取 小说章节
if __name__ == '__main__':
url = "https://xx/showchapter/906233.html"
req = requests.get(url)
print(req.text)
使用 from lxml import etree 解析html 网页标签及内容
-
使用浏览器自带的开发者工具 或者对着浏览器 按键F12 分析页面上html的元素 进行定位 要提取的代码块内容
-
如图
-
代码示列
python
import requests
from lxml import etree
#使用requests库获取网页内容
# 爬取 地址为 https://xxx/showchapter/906233.html 的网页内容
# 注意,1单独爬取静态网页,2动态网页需要使用selenium
# 请熟练使用 requests库,
# 普法:政府类网站不能爬,公民信息不能保存,大公司网站不要爬,容易被追踪,涉及版权知识产权的信息不要爬,容易惹纠纷。
# 爬取 小说章节
if __name__ == '__main__':
url = "https://xxx/showchapter/906233.html"
req = requests.get(url)
# 使用lxml解析HTML内容
html = etree.HTML(req.text)
# 提取<li class="col-4">下的<a>标签内容
# 注意:class属性中有空格,需要使用contains函数来匹配
li_elements = html.xpath('//li[contains(@class, "col-4")]')
for li in li_elements:
# 查找每个li元素中的a标签
a_tags = li.xpath('.//a')
for a in a_tags:
# 输出a标签的文本内容
print(a.text)