爬虫抓取网页来下载小说

软件测试杂谈 软件测试杂谈     2022-10-15     475

关键词:

利用Python3 编写爬虫,从笔趣阁抓个小说下载。

import re
import urllib.request
import time
import easygui as g

# 输入地址
g.msgbox("利用Python3 编写爬虫,从笔趣阁抓个小说下载到手机查看")
msg = "输入小说地址,例如http://www.biquge.com.tw/0_213/"
title = '爬虫'
root = g.enterbox(msg,title)

# 伪造浏览器
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) ' \
                         'AppleWebKit/537.36 (KHTML, like Gecko)'\
                         ' Chrome/62.0.3202.62 Safari/537.36'}

req = urllib.request.Request(url=root, headers=headers)

with urllib.request.urlopen(req, timeout=1) as response:
    # 大部分的涉及小说的网页都有charset='gbk',所以使用gbk编码
    htmls = response.read().decode('gbk')

# 匹配所有目录http://www.biquge.com.tw/0_213/"
story_id = root.lstrip("http://www.biquge.com.tw/")

dir_req = re.compile(r'<a href="/%s(\d+?.html)">'%story_id)
dirs = dir_req.findall(htmls)

# 创建文件流,将各个章节读入内存
with open('E:\一念永恒.txt', 'w') as f:
    for dir in dirs:
        # 组合链接地址,即各个章节的地址
        url = root + dir
        # 有的时候访问某个网页会一直得不到响应,程序就会卡到那里,我让他0.6秒后自动超时而抛出异常
        while True:
            try:
                request = urllib.request.Request(url=url, headers=headers)
                with urllib.request.urlopen(request, timeout=0.6) as response:
                    html = response.read().decode('gbk')
                    break
            except:
                # 对于抓取到的异常,让程序停止1.1秒,再循环重新访问这个链接,访问成功时退出循环
                time.sleep(1.1)

        # 匹配文章标题
        title_req = re.compile(r'<h1>(.+?)</h1>')
        # 匹配文章内容,内容中有换行,所以使flags=re.S
        content_req = re.compile(r'<div id="content">(.+?)</div>', re.S, )
        # 获取标题
        title = title_req.findall(html)[0]
        # 获取内容
        content_test = content_req.findall(html)[0]
        # 筛除不需要的的html元素
        strc = content_test.replace('&nbsp;', ' ')
        content = strc.replace('<br />', '\n')
        print('抓取章节>' + title)
        f.write(title + '\n')
        f.write(content + '\n\n')

 

程序运行图如下:

抓取分析网页批量下载评书(上)之搜索有声小说

一、背景   母亲喜欢听评书,跟着广播每天一集总觉得不过瘾,于是2010年给她买了一个带内存,能播放MP3的音箱,从此给她找评书便成了我的责任和义务。    一开始开始还好,单先生说的书多,找起来不... 查看详情

使用pyspider抓取起点中文网小说数据

参考技术Apyspider是国人开发的相当好用的爬虫框架。虽然网上教程不是很多,但是文档详细,操作简单,非常适合用来做爬虫练习或者实现一些抓取数据的需求。本文就以抓取起点中文小说网的小说作品基础信息作为目标,讲解... 查看详情

c#使用abot实现爬虫抓取网页信息源码下载

下载地址**dome** 查看详情

开篇!我也来谈谈爬虫

什么是爬虫我们先看看维基百科的定义网络爬虫(英语:webcrawler),也叫网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人。通俗的说爬虫就是通过一定的规则策略,自动抓取、下载互联网上网页,在按照某些规则... 查看详情

网络爬虫结构

 网络爬虫的基本工作流1)首先选取url2)将urll放到待抓取的url队列中3)从待抓取url队列中读取url-----》解析dns----》获取主机IP--》下载对应的网页---》存储到已经下载的网页库中----》将url放到已经抓取的url队列中4)分析已... 查看详情

java爬虫进阶之springboot+webmagic抓取顶点小说网站小说(代码片段)

闲来无事最近写了一个全新的爬虫框架WebMagic整合springboot的爬虫程序,不清楚WebMagic的童鞋可以先查看官网了解什么是Webmagic,顺便说说用springboot时遇到的一些坑。首先附上Webmagic官网链接 WebMagic官网,上手很简单。... 查看详情

不懂编程?一文学会网络爬虫!(代码片段)

爬虫介绍??市面上有太多有关网络爬虫的教程,有些与代码挂钩,有的算法味道太浓,对那些希望学习技术但又没什么经验的coder很不友好(当然,刚开始谁都是这样),本篇教程就带领这样的你走进网络爬虫的世界。??好了,下... 查看详情

python网络爬虫实战-scrapy,深入理解scrapy框架,解决数据抓取过程

一前言二网络爬虫简介审查元素简单实例1requests安装2简单实例三爬虫实战小说下载1实战背景2小试牛刀3BeautifulSoup3整合代码优美壁纸下载1实战背景2实战进阶3整合代码爱奇艺VIP视频下载1实战背景2实战升级3编写代码四总结 一... 查看详情

爬虫实践---排行榜小说批量下载

...istmrightmbottom">之中,这种条理清晰的网站,大大方便了爬虫的编写。在当前页面找到所有小说的连接,并保存在列表即可。三、列表去重 查看详情

爬虫项目(知识点)

一.基本介绍什么是爬虫?-就是抓取网页数据的程序怎么抓取网页数据网页三大特征:-每个网页都有自己的URL(统一资源定位符)来进行定位-网页都是用HTML(超文本标记语言)来描述页面信息-网页都使用HTTP/HTTPS(超文本传输协议)来传... 查看详情

爬虫知识点总结。

网络爬虫的基本工作流程例如以下:1.选取种子URL;2.将这些URL放入待抓取URL队列;3.从待抓取URL队列中取出待抓取在URL。解析DNS,而且得到主机的ip,并将URL相应的网页下载下来,存储进已下载网页库中。4.分析已抓取URL队列中... 查看详情

请教网页里的特定数据怎么抓取?

...因为网页有屏蔽吗?求python的代码抓取网页抓取可以使用爬虫技术,以下是一些常用的网页抓取方法:1.使用Python的Requests库请求网页,然后使用BeautifulSoup库进行页面解析,提取目标数据。2.使用Selenium库模拟浏览器操作,通过CSS... 查看详情

爬虫之scrapy框架(代码片段)

...I所返回的数据(例如AmazonAssociatesWebServices)或者通用的网络爬虫。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。Scrapy使用了Twisted异步网络库来处理网络通讯。整体架构大致如下 Scrapy主要包括了以下组件:引擎(Scrapy)... 查看详情

(转)什么是爬虫

我们先看看维基百科的定义网络爬虫(英语:webcrawler),也叫网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人。通俗的说爬虫就是通过一定的规则策略,自动抓取、下载互联网上网页,在按照某些规则算法对这些... 查看详情

python爬虫编程思想(48):项目实战:抓取起点中文网的小说信息(代码片段)

    本文会利用requests库抓取起点中文网上的小说信息,并通过XPath提取相关的内容,最后将经过提取的内容保存到Excel文件中。本例需要使用第三方的xlwt库,该库用来通过Python操作Excel文件,需要使用下面的命令安... 查看详情

爬虫原理与数据抓取-----(了解)通用爬虫和聚焦爬虫(代码片段)

通用爬虫和聚焦爬虫根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种.通用爬虫通用网络爬虫是捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分。主要目的是将互联网上的网页下载到本地,形... 查看详情

python怎么抓取网页中div的文字

...页的代码,怎么修改把所有title的文字抓取出来?1、编写爬虫思路:确定下载目标,找到网页,找到网页中需要的内容。对数据进行处理。保存数据。2、知识点说明:1)确定网络中需要的信息,打开网页后使用F12打开开发者模... 查看详情

python爬虫是啥?

...取网页的程序,它为搜索引擎从万维网上下载网页。网络爬虫为一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网... 查看详情