Python爬虫第一课:爬取HTML静态网页小说章节

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)