介绍
这篇文章主要介绍用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爬虫下载小说的示例”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!