用python爬虫下载小说的示例

  介绍

这篇文章主要介绍用python爬虫下载小说的示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

只要利用请求和Beautifulsoup模块就可以获取到每一章节的url集合了。

import 请求   得到bs4  import  BeautifulSoup   ,   时间=html  requests.get (url)   时间=soup  BeautifulSoup (html.text, & # 39; lxml # 39;)   时间=all_td  soup.find_all (& # 39; td # 39;,, class_=癓")   for  a  all_td拷贝:   ,,,all_urls =, a.find(& # 39;一个# 39;). get (& # 39; href # 39;)   打印(all_urls)

获取所有章节url之后,自然是获取每一个页面的内容,然后解析出小说的内容,保存到文件夹。这里又要用到请求,我们写个函数复用。

def  get_html (url):   ,,,#,伪装浏览器的头,这部大家应该都理解:   ,,,headers =,{& # 39;用户代理# 39;:,& # 39;Mozilla/5.0, (Windows  NT  6.1;, Win64;, x64), AppleWebKit/537.36, (KHTML, like 壁虎),Chrome/55.0.2883.87  Safari/537.36 & # 39;}   ,,,html =, requests.get (url,头=标题)   return  html

获取小说内容也很简单,BeautifulSoup解析出网页,如果直接用BeautifulSoup通过提取网页html标签来获取小说的话,会出现排版问题,不够美观。这里我们仍然用正则匹配小说内容。

for  each 拷贝all_urls:   ,,,soup =, BeautifulSoup (get_html(每个)。text, & # 39; lxml # 39;)   ,,,#,获取章节标题   ,,,title =, soup.title.text.split (& # 39; & # 39;) [1]   ,,,all_info =, soup.find (& # 39; dd # 39;,, id=癱ontents")   ,,,#,使用正则匹配章节内容   ,,,p =, " # 39; & lt; dd  id=癱ontents"祝辞(. * ?)& lt;/dd> & # 39;   ,,,#,处理正则在匹配错误章节,都是作者牢骚的内容,不影响小说内容抓取,直接过滤   ,,,试一试:   ,,,,,,,info =, re.findall (p, str (all_info), re.S) [0]   ,,,,,,,#,下载到txt文件   ,,,,,,,with 开放(时间+ title  & # 39; . txt # 39;,, & # 39; w # 39;,,编码=& # 39;gbk # 39;,,错误=& # 39;忽略# 39;),as  f:   ,,,,,,,,,,,f.write (info.replace (& # 39; & lt; br/祝辞& # 39;,,& # 39;\ n # 39;))   ,,,print(& # 39;节省;成功:% & # 39;,%,标题)   ,,,除了:   ,,,,,,,印刷(& # 39;re  faild:, % & # 39;, %,标题)

以上是“用python爬虫下载小说的示例”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

用python爬虫下载小说的示例