Python爬虫第二课:爬取HTML静态网页之《某某小说》 小说章节和内容完整版
Python-HTML-爬虫:爬取《某某小说》 小说章节和内容完整版
- 所有章节和内容已成功获取
- html 分析 详情页面
- 代码示列
- web前端快速入门学习地址
所有章节和内容已成功获取
- 示列
html 分析 详情页面
-
在代码中获取到这个连接地址
-
-
详情页面HTML 中 正文部分
-
代码示列
import requestsfrom lxml import etree#使用requests库获取网页内容
# 爬取 地址为 https://huayu.zongheng.com/showchapter/906233.html 的网页内容
# 注意,1单独爬取静态网页,2动态网页需要使用selenium
# 请熟练使用 requests库,
# 普法:政府类网站不能爬,公民信息不能保存,大公司网站不要爬,容易被追踪,涉及版权知识产权的信息不要爬,容易惹纠纷。
# 爬取 名为:《某某小说》 的小说章节def getHtmlContent(href):req = requests.get(href)# 使用lxml解析HTML内容html = etree.HTML(req.text)# 提取div中class="content"的内容# 注意:如果class属性精确等于content,使用@class="content"# 如果class属性包含content,使用contains(@class, "content")content_divs = html.xpath('//div[@class="content"]')# 如果上面的方法没有结果,尝试使用containsif not content_divs:content_divs = html.xpath('//div[contains(@class, "content")]')content_text = ""for div in content_divs:# 提取div内的文本内容text = div.text if div.text else ""# 也要提取div内所有子元素的文本for elem in div.iter():if elem.text and elem != div:text += elem.textif elem.tail:text += elem.tailcontent_text += text + "\n"return content_textif __name__ == '__main__':url = "https://huayu.zongheng.com/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 ,"-----连接地址---->:",a.get('href'),"-----内容----->:",getHtmlContent(a.get('href')))
web前端快速入门学习地址
- web前端快速入门学习地址