爬虫练手项目——获取龙族小说全文

这篇具有很好参考价值的文章主要介绍了爬虫练手项目——获取龙族小说全文。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

网站信息

目标网站信息如下:包含了龙族1-5全部内容 

爬虫练手项目——获取龙族小说全文,# python进阶知识,爬虫,python

代码

import requests
from bs4 import BeautifulSoup
import os
import time


headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
    'Cookie': 'bid=zRNGYnptpG4; douban-fav-remind=1; viewed="35035944"; gr_user_id=184492c6-aeef-4982-901f-1b09c2068705; ap_v=0,6.0; _pk_id.100001.4cf6=074e6710f58c43d9.1689427734.; __utmc=30149280; __utmz=30149280.1689427737.3.3.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided); __utmc=223695111; ll="108088"; __yadk_uid=CiTsJsC2AkO8osEEuxsxgH6aSpdU3hJF; __gads=ID=45e9ee92cf4ec1b5-22fb1d284fdc006e:T=1680781559:RT=1689427756:S=ALNI_MYITBoTB0r8a8JzXtf9AAGAyofW6w; __gpi=UID=00000bfc2637c48e:T=1680781559:RT=1689427756:S=ALNI_Mb5gSJq3sFe87EZ8i9AAS4pTEK98g; _vwo_uuid_v2=D3D419E1B418DCC4CD5D70BA518A20948|a16e6c827b6f325ea0acbef2466a9c40; _pk_ref.100001.4cf6=%5B%22%22%2C%22%22%2C1689431498%2C%22https%3A%2F%2Fwww.google.com%2F%22%5D; _pk_ses.100001.4cf6=1; __utma=30149280.1385780288.1680781559.1689427737.1689431498.4; __utmt=1; dbcl2="264274455:bzQqX8oD3K8"; ck=OlkX; __utmt_douban=1; __utma=223695111.1736987962.1689427737.1689427737.1689431546.2; __utmb=223695111.0.10.1689431546; __utmz=223695111.1689431546.2.2.utmcsr=accounts.douban.com|utmccn=(referral)|utmcmd=referral|utmcct=/; push_noty_num=0; push_doumail_num=0; __utmv=30149280.26427; __utmb=30149280.7.10.1689431498'
}
main_url = 'https://www.51shucheng.net/wangluo/longzu'

# 把打开网页获取页面的步骤写成函数
def open_page(url):
    """
    html: url地址
    return : html的page页面
    """
    html = requests.get(url, headers=headers)
    html.encoding = 'utf-8'
    html = html.text
    
    return html

# 把构建soup找到页面对应内容的步骤写成函数
def find_content(html, selector, class_):
    """
    html: 网页page页面
    selector: 对应的页面元素
    class_: 对应类名
    return : 想要的页面内容
    """
    soup = BeautifulSoup(html, features='lxml')
    wanted_content = soup.find_all(selector, class_=class_)
    
    return wanted_content

# 把小说内容写入文件中
def write_content(name, chapter_name, content):
    """
    name: 小说名称
    chapter_name: 章节名称
    content: 章节内容
    """
    
    # 如果小说的目录不存在,则创建目录;如果存在则删除重建一个
    path = os.path.join(f"./{name}")
    if os.path.exists(path):
        file = os.path.join(path, f"{chapter_name + '.txt'}")
        print(file)
        with open(file, 'w', encoding='utf-8') as f:
            f.write(content)
    else:
        os.mkdir(path)
        file = os.path.join(path, f"{chapter_name + '.txt'}")
        print(file)
        with open(file, 'w', encoding='utf-8') as f:
            f.write(content)

# 获取网页
main_html = open_page(main_url)

# 获得每部小说的url
fictions = find_content(main_html, "div", "mulu-list quanji")
fiction_names = find_content(main_html, 'div', 'mulu-title')    # 每部小说的名称
fiction_urls = []    # 以列表形式存储小说第几部,第几部的名称,第几章,章节名称

for i in range(len(fictions)):
    urls = fictions[i].find_all("a")
    name = fiction_names[i].text
    for j in range(len(urls)):
        url, title = urls[j]['href'], urls[j].text
        fiction_urls.append([i + 1, name, title, url])

# 获取每章节的内容
for i in range(len(fiction_urls)):
    num = fiction_urls[i][0]    # 属于第几部小说
    if num == 1 or num == 2:
        continue
    name = fiction_urls[i][1]
    title = fiction_urls[i][2]    # 章节名称
    print(f"{'*'*5}开始第{num}部小说《{name}》的  {title}  爬取{'*'*5}")
    
    html = open_page(fiction_urls[i][3])
    content = find_content(html, "div", 'neirong')[0].text
    write_content(name, title, content)
    time.sleep(num)
    
    

视频录制:真实记录写爬虫代码全过程【以龙族小说为例】_哔哩哔哩_bilibili文章来源地址https://www.toymoban.com/news/detail-647699.html

到了这里,关于爬虫练手项目——获取龙族小说全文的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python爬虫实战——小说爬取

    基于 requests 库和 lxml 库编写的爬虫,目标小说网站域名http://www.365kk.cc/,类似的小说网站殊途同归,均可采用本文方法爬取。 目标网站 :传送门 本文的目标书籍 :《我的师兄实在太稳健了》 “渡劫只有九成八的把握,和送死有什么区别?” 网络爬虫的工作实际上主要分为

    2024年02月06日
    浏览(40)
  • python 爬虫实战 | 下载一本小说

    根据链接获取页面信息 从页面信息获取需要的信息:正则匹配,bs4,xpath等 保存:文件、数据库 最难得就是中间匹配部分,要针对每个网站的内容特点和要获取的信息综合选择合适的匹配策略。 其他重要方面: 中文乱码怎么处理:主动设置编码格式 如果需要很多页面,还

    2024年02月08日
    浏览(61)
  • 基于网络爬虫和SpringBoot框架的晋江文学小说小型网站项目

    Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,常可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。项目中,主要采取Scrapy框架实现一个爬虫,抓取晋江文学网站的热门小说数据。其主要步骤分为四步: 第一步:新建项目——scrap

    2024年02月02日
    浏览(44)
  • Python网页爬虫爬取起点小说——re解析网页数据

    !!注意:我们获取到的网页响应数据,可能会与网页源代码中呈现的格式不同。因为有些网页文件是用JavaScript加载的,浏览器会自动将其解析成html文档格式,而我们获取到的内容是JavaScript格式的文档。所以获取到响应数据之后先要查看内容是否与网页源码中的一致,不一

    2024年02月04日
    浏览(57)
  • python爬虫篇:使用Selenium自动打开小说网页并自动浏览

    需求:python,pycharm,Selenium库,火狐或ie浏览器 文章目录 一、 自动打开小说网页并浏览 简单使用Selenium库,实现对浏览器的自动化操作 一、自动打开小说网页并浏览 方法:使用命令行下载或者在pycharm中下载 使用命令行下载:打开cmd终端,输入pip install selenium  在pycharm中下

    2024年02月10日
    浏览(47)
  • 人工智能实战项目(python)+多领域实战练手项目

    大家好,我是微学AI,本项目将围绕人工智能实战项目进行展开,紧密贴近生活,实战项目设计多个领域包括:金融、教育、医疗、地理、生物、人文、自然语言处理等;帮助各位读者结合机器学习与深度学习构建智能而且实用的人工智能简单系统,创建有影响力的AI应用,项

    2024年02月02日
    浏览(52)
  • 用python从零开始做一个最简单的小说爬虫带GUI界面(2/3)

    目录 前一章博客 前言 主函数的代码实现 逐行代码解析 获取链接 获取标题 获取网页源代码 获取各个文章的链接 函数的代码 导入库文件 获取文章的标题 获取文章的源代码 提取文章目录的各个文章的链接 总代码 下一章内容 用python从零开始做一个最简单的小说爬虫带GUI界面

    2024年02月11日
    浏览(43)
  • 用python从零开始做一个最简单的小说爬虫带GUI界面(3/3)

    目录 上一章内容 前言 出现的一些问题 requests包爬取小说的不便之处 利用aiohttp包来异步爬取小说 介绍 代码 main.py  test_1.py test_3.py 代码大致讲解 注意 系列总结 用python从零开始做一个最简单的小说爬虫带GUI界面(2/3)_木木em哈哈的博客-CSDN博客 前一章博客我们讲了怎么通过

    2024年02月11日
    浏览(40)
  • 用python从零开始做一个最简单的小说爬虫带GUI界面(1/3)

    目录 下一章内容 PyQt5的配置  设置软件的快捷启动方式 1.        用于设计界面的程序 2.        将Qt Designer设计出来的ui文件转化为py文件 3.        可以把py文件打包成可执行的exe文件 4.        将ico图片放在qrc文件中,再将qrc文件转换成py文件,用于小工具的图

    2024年02月12日
    浏览(50)
  • 【Python项目实战】京东自动抢茅台脚本,此项目不可商用,仅为Python练手使用!

    目前,在多家电商平台都可以抢购茅台酒,包括天猫超市、京东、天猫会员店、国美、苏宁、网易严选等渠道,消费者使用一台手机便可参与抢购,不过,很多消费者依旧不清楚用手机抢茅台怎么抢,因为抢购的人实在太多,需要有技巧才能提高成功抢购的概率。 今天给大家

    2024年02月13日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包