这篇文章主要介绍用python爬虫下载小说的示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
创新互联专注于企业网络营销推广、网站重做改版、乌恰网站定制设计、自适应品牌网站建设、H5高端网站建设、成都商城网站开发、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为乌恰等各大城市提供网站开发制作服务。
只要利用 requests 和 Beautifulsoup 模块就可以获取到每一章节的 url 集合了。
import requests from bs4 import BeautifulSoup html = requests.get(url) soup = BeautifulSoup(html.text, 'lxml') all_td = soup.find_all('td', class_="L") for a in all_td: all_urls = a.find('a').get('href') print(all_urls)
获取所有章节 url 之后,自然是获取每一个页面的内容,然后解析出小说的内容,保存到文件夹。这里又要用到 requests,我们写个函数复用。
def get_html(url): # 伪装浏览器的头,这部大家应该都理解: headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'} html = requests.get(url,headers=headers) return html
获取小说内容也很简单,BeautifulSoup 解析出网页,如果直接用 BeautifulSoup 通过提取网页 html 标签来获取小说的话,会出现排版问题,不够美观。这里我们仍然用正则匹配小说内容。
for each in all_urls: soup = BeautifulSoup(get_html(each).text, 'lxml') # 获取章节标题 title = soup.title.text.split('-')[1] all_info = soup.find('dd', id="contents") # 使用正则匹配章节内容 p = r'<dd id="contents">(.*?)</dd>' # 处理正则在匹配错误章节,都是作者牢骚的内容,不影响小说内容抓取,直接过滤 try: info = re.findall(p, str(all_info), re.S)[0] # 下载到txt文件 with open(title + '.txt', 'w', encoding='gbk', errors='ignore') as f: f.write(info.replace('<br/>', '\n')) print('save sucessful: %s' % title) except: print('re faild: %s' % title)
以上是“用python爬虫下载小说的示例”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!
本文标题:用python爬虫下载小说的示例
分享地址:https://www.cdcxhl.com/article48/jiehep.html
成都网站建设公司_创新互联,为您提供微信小程序、搜索引擎优化、移动网站建设、网站维护、品牌网站制作、网站排名
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联