前言

hello,大家好久不见了哈,不知道有没有想UP啊。最近呢由于个人原因导致没有时间来给大家分享新的案例教程了,所以抱歉各位哈,现在问题都解决了,会坚持每天更新的,希望大家能喜欢.

那么今天分享给大家的案例是啥呢,那就是通过短短二十行代码来实现输入小说名字就可以下载文本的这样一个爬虫案例,相对来讲还是非常简单的,能让大家好好的上手,接下来就跟着up的思路一起来实现这样的一个功能吧

项目分析

小编以前是很爱看小说,就目前的几年来讲我基本没有看过小说了,也不知道哪些网站能爬,所以就随便找了一个。、我们首先来到网站的小说top榜查看一下网页源代码

还是可以清楚的看到top榜里的小说全都在<li>标签中这就为我们的爬虫带来了很大的便利,只需要获取每个li标签里的内容就可以完成。

加下来我们找找文件在哪里下载,我们继续点击斗破苍穹来到下面的页面,为啥选择斗破这本小说,那是因为这个是up人生中第一本看完结的小说,也是印象最为深刻的小说。不知道大家有没有同感的,记得那时候等更新可是很难等的。

我们继续点击进去看到了文件的下载链接,为了能够使爬虫的代码更加简单我们来看看这个链接和之前li标签里的小说链接有什么不同

可以看到他们有相同的一串编号,这样我们只需要获取每个小说的编号就能获得所有小说的下载链接了,下面我们来完善我们的代码。

代码编写

这个项目我们需要的库有requests库,BeautifulSoup库

经过上面的思路整理我们先建立起我们的爬虫框架:

我画了个流程图来让大家更好的理解我们的结构

好我们看看每个部分的代码是什么:

网页请求的代码几乎是通用的没次爬虫都可以原封不动的复制粘贴(这个代码无法解决反爬)

def getHTMLtext(url):headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36"}try:r = requests.get(url=url, headers=headers)r.raise_for_status()r.encoding=r.apparent_encodingreturn r.textexcept:print('访问失败')

下面是获取页面每个小说的信息并构造下载链接

def parseHTMLtext(html,down_list):soup=BeautifulSoup(html,'html.parser')li_list=soup.find('div',class_='chu').find_all('li')for li in li_list:li_url=li.find('a').attrs['href']li_url='https://www.555x.org/home/down/txt/id/'+li_url[-10:-5:1]name=li.a.stringdown_list.append([li_url,name])pass

下面是文件保存的函数

def savetxt(down_list):root='D:\\小说\\'for down in down_list:path=root+down[1]+'.txt'txt=requests.get(down[0]).contentprint(down[0])with open(path,'wb') as f:f.write(txt)f.close()pass

接下来是主函数

def main():url='https://www.555x.org/top.html'html=getHTMLtext(url)down_list = []parseHTMLtext(html,down_list)savetxt(down_list)print('下载成功')pass

好这就是我们的代码框架我们来看看这个代码爬虫的小效果如何:

这些小说看过了的应该孩子都打酱油了吧

可以看到效果还是不错的!!

好了这就是这期的全部内容希望大家能够自己敲代码尝试一下,我也是python爬虫里的一只小白,代码可能并不完善但还是希望得到大家的支持,以后我也会推出更多的文章来一起学习!!

下期我们将给大家分享如何爬取网页图片,大家可以关注一下哟!!!

最后给大家献上完整代码想看立即看小说的可以直接复制粘贴:

import requests
from bs4 import BeautifulSoup# 网页请求
def getHTMLtext(url):headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36"}try:r = requests.get(url=url, headers=headers)r.raise_for_status()r.encoding=r.apparent_encodingreturn r.textexcept:print('访问失败')# 网页内容解析
def parseHTMLtext(html,down_list):soup=BeautifulSoup(html,'html.parser')li_list=soup.find('div',class_='chu').find_all('li')for li in li_list:li_url=li.find('a').attrs['href']li_url='https://www.555x.org/home/down/txt/id/'+li_url[-10:-5:1]name=li.a.stringdown_list.append([li_url,name])pass# 文件保存
def savetxt(down_list):root='D:\\小说\\'for down in down_list:path=root+down[1]+'.txt'txt=requests.get(down[0]).contentprint(down[0])with open(path,'wb') as f:f.write(txt)f.close()pass# 主函数
def main():url='https://www.555x.org/top.html'html=getHTMLtext(url)down_list = []parseHTMLtext(html,down_list)savetxt(down_list)print('下载成功')passmain()

源代码都贴了,还可以进一步的优化,但是考虑到大家的水平都是不一样的,所以今天这篇就到这里为止吧,对了可以关注一下下方的公众号哈。有不懂的问题欢迎留言。咱们下一篇见

一定要会的Python爬虫技能,搜索名字即可下载全文小说?相关推荐

  1. Python爬虫之Scrapy库的下载和安装

    Python爬虫之Scrapy库的下载和安装 下载scrapy库 1.点击https://www.lfd.uci.edu/~gohlke/pythonlibs,进入该网页后Ctrl+F输入scrapy ...

  2. Python爬虫:AGE动漫下载之 requests 版

    日常跳转: 导入: 分析与代码解释: 打印搜索到的信息 BeautifelSoup4 库使用提醒 小优化 链接解析: 获取视频链接 小优化: 提示: 视频下载: 求大佬赐教 实例源码及结果 结果及下载 ...

  3. Python爬虫之网易云音乐下载

    Python爬虫之网易云音乐下载 目标 用Python根据网易云音乐的ID,下载音乐,保存到本地MP3格式 可以下载歌曲的范围:所有能够听的歌曲 配置基础 Python 3.5 模块 pycrypto ...

  4. python爬虫之搜索51job并存入mysql数据库

    简介 在python爬虫之51job工作搜索我们只是通过python函数将其简单打印,在此我们将其进行封装成类,打印并写入mysql数据库中. 因此我们首先需要设计mysql的库和表结构,在此我们只用 ...

  5. Python爬虫-Wayfair搜索词结果页

    前言 本文是该专栏的第39篇,后面会持续分享python爬虫干货知识,记得关注. 本文以Wayfair输入搜索词(关键词),目标数据以搜索词结果页为例. 下面,跟着笔者直接往下看正文详细介绍. 正文 ...

  6. Python网络爬虫与信息提取!爬虫批量搜索音乐并下载!

    目标 将想要下载的歌曲名字存在列表中,批量搜索并下载代码. 准备 因为webdriver打开网页缓慢的原因,我考虑使用selenium控制已经打开的chrome网页,毕竟直接用chrome搜索歌曲和打 ...

  7. 爬虫python下载-如何用Python爬虫实现百度图片自动下载?

    制作爬虫的步骤 制作一个爬虫一般分以下几个步骤: 分析需求 分析网页源代码,配合开发者工具 编写正则表达式或者XPath表达式 正式编写 python 爬虫代码 效果预览 运行效果如下: 存放图片的文 ...

  8. python爬虫图片工具安卓版下载_python爬虫之图片下载APP1.0

    今天给大家来个好玩一点的,运用python爬取图片到本地,网站为https://www.pexels.com/ 这个网站为外文网,所以搜索图片要用英语,今天要做的就是在python中进行搜索和下载图片 ...

  9. Python爬虫之爬取笔趣阁小说下载到本地文件并且存储到数据库

    学习了python之后,接触到了爬虫,加上我又喜欢看小说,所以就做了一个爬虫的小程序,爬取笔趣阁小说. 程序中一共引入了以下几个库: import requests import mysql.conn ...

  10. python爬虫之爬取起点中文原创小说排行榜

    学习python有段时间了,最近做了一个网上爬虫工具爬取起点中文原创小说排行榜数据,作为最近学习python的一个阶段性成果. 工具 对于做网络爬虫工具经常用到的就是chrome浏览器,主要用于抓取网 ...

最新文章

  1. 计算机视觉专家:如何从C++转Python
  2. python的用途-请问在python中的% 是什么意思, 起到什么作用?
  3. oracle proedure 文件_关于oracle存储过程读取文件
  4. img解包工具_3、Linux基础命令篇、压缩打包工具
  5. .net fileupload批量上传可删除_【JavaWeb基础】文件上传和下载(修订版)
  6. 转载:必须掌握的八个【cmd 命令行】
  7. validform 一行代码完成所有验证
  8. oracle 序列赋值变量,Oracle变量的定义、赋值及使用
  9. (转)kafka 详解
  10. 基于java(springboot)餐厅点餐系统源码成品(java毕业设计)
  11. 考华为云认证的注意事项、认证费用
  12. 专题2:弹性力学中平面问题的基本理论(2-4 几何方程及刚体位移 2-5 斜方向的应变及位移)
  13. ubuntu安装deb文件
  14. java联网游戏_Java实现简易版联网坦克对战小游戏(附源码)
  15. 条形码在android上的代码,使条码生成器在android
  16. 腾讯2016实习招聘-安全岗笔试题答案详细解释
  17. python画箭头_python画箭头(用内置的函数)怎么画?
  18. 计算机组装方案及分析,计算机组装与维护
  19. 在设计电机电路项目中总结的一些电机参数知识和设计要点 - 直流电机、空心杯电机、步进电机、伺服电机等
  20. 2020苏州大学计算机考研上机试题

热门文章

  1. 纯干货!一款APP从设计稿到切图过程全方位揭秘(转)
  2. 双绞线接法详解双绞线的标准的由来与分析
  3. Linux虚拟网络基础 — Bridge
  4. 纯小白Python爬取东方财富网研报内容并通过机器学习的SVM模型进行文本分析(一)
  5. 性能测试——抗攻击-hyenae-ddos攻击
  6. Pidgin 2.3.1语言设置方法
  7. 五十三、微信小程序云开发豆瓣电影小项目
  8. 批量下载网页上ts视频文件(撸sir!你还在为下载小电影而苦恼吗?)
  9. 美化windows xp 完全教程
  10. 招商银行笔试题之员工考勤记录