栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python爬虫(小说)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python爬虫(小说)

导入库
import requests
from lxml import etree
import os
获取小说目录url
def catalog(url):
    """
    获取所有目录url
    :param url:网址
    :return:目录url
    """
    try:
        rq = requests.get(url = url,headers = HEADERS,timeout = 10)
        tree = etree.HTML(rq.text)
     	book_title = tree.xpath('//div[@class = "mu_h1"]/h1/text')
        mulu_list = tree.xpath('//ul[@class = "mulu_list"]/li')
        mulu_url = [url+''.join(i.xpath('./a/@href')) for i in mulu_list]
        return mulu_url
    except:
        print("catalog出错!")
解析网页数据获取文本内容
def mulu_content(mulu_url):
    """
    解析小说内容
    :param mulu_url:目录url
    :return:无
    """
    try:
        response = requests.get(url = mulu_url,headers = HEADERS,timeout = 5)
        response.encoding = response.apparent_encoding
        tree = etree.HTML(response.text)
        content = tree.xpath('//div[@id = "htmlContent"]/text()') # 内容
        content = "".join(content).strip().replace("  ","")
        title = tree.xpath('//div[@class = "h1title"]/h1/text()') # 标题
        title = "".join(title).strip()
        print(content,title)
        if not os.path.exists(r'./文件夹名称'):
            os.mkdir(r'./文件夹名称')
        if not os.path.exists(f'./文件夹名称/{title}.txt'):
            with open(f'./文件夹名称/{title}.txt','w',encoding = 'utf-8') as f:
                f.write(content)
                print(title+"采集完成!")
        else:
            print(title+'本章已采集!')
        print("小说采集完成!")
    except:
        print('mulu_content出错!')
主函数
if __name__  ==  '__main__':
    url = 'https://www.duquanben.com/xiaoshuo/13/13695/'
    HEADERS = {
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 SLBrowser/7.0.0.8031 SLBChan/30"
    }
   for mulu_url in catalog(url):
		mulu_content(mulu_url)
		

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/293886.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号