首页 编程教程正文

[Python 源码]Python 简单小说爬取

piaodoo 编程教程 2020-02-22 22:15:16 1308 0 python教程

本文来源吾爱破解论坛

本帖最后由 pzx521521 于 2018-12-1 13:40 编辑
[Python 源码]Python 简单小说爬取 说明

很简单的一个爬取小说的脚本, 新手可以参考一下

需要的包 python3 import requests from bs4 import BeautifulSoup PS

原贴的分数太高了, 就写了一个
参考        

Code

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 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/7985.html

搜索