本文来源吾爱破解论坛
本帖最后由 pzx521521 于 2018-12-1 13:40 编辑
[Python 源码]Python 简单小说爬取
说明
很简单的一个爬取小说的脚本, 新手可以参考一下
需要的包 python3 import requests from bs4 import BeautifulSoup PS原贴的分数太高了, 就写了一个
参考
import requests
import os
from bs4 import BeautifulSoup
#以上作为基本引用
#全局变量
url_pre = "https://www.xiaoshuo2016.com"
start_url = "https://www.xiaoshuo2016.com/171445/44104877.html" #小说第一章对应的URL 例如:http://www.quanshuwang.com/book/44/44683/15379609.html
file_name = "wwyxhqc.txt" #设置保存的文件名字 建议数字或者英文名字,例如 重生于非凡岁月 可设置为 csffsy.txt
#使用的时候只需要更改上面两个变量的值即可
header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
count = 0 # 计数器 计数章节数
# function: 获取每章节的小说文字并写入文件中
def getContent(content_url):
global count
count = count +1 #计数器增加
res = requests.get(content_url,headers = header,timeout = 10)
res.encoding = 'gbk'
soup = BeautifulSoup(res.text,'html.parser')
title = soup.select('.articleTitle')[0].find('h2').text #获取章节题目
content = soup.select('.articleCon')[0].text #获取章节内容
both = title + content
with open("result\\" + title+".txt", "w", encoding='utf-8') as f:
f.write(both)
print("已下载 第"+str(count)+"章") #输出到屏幕提示 状态
# 获取下个章节URL
next_url = soup.select('.page')[0].find('a').next_sibling.next_sibling.get('href');
if(next_url == ''):
return False
return getContent(url_pre+next_url)
#MAIN
if __name__ == '__main__':
File_Path = os.getcwd() + '\\result' # 获取到当前文件的目录,并检查是否有report文件夹,如果不存在则自动新建report文件
if not os.path.exists(File_Path):
os.makedirs(File_Path)
f = open(file_name, 'a+',encoding='utf-8')
getContent(start_url)
f.close()
print('小说下载完成!')
版权声明:
本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。
- 上一篇: 仿易语言汇编模块写的汇编库
- 下一篇: Pythone新手学习导图