python爬虫小说爬取

  • 前言
  • 拿到一个网站最重要的就是分析分析
  • 提取每一个链接的内容
  • 内容处理
    • 有了一个链接里面的小说内容就可以扩展到所有标签的内容了
  • 完整代码
  • 结果及总结

前言

附上上一篇的链接
练习一下爬虫过程,就在网上随便找了一个小说网站

那就第一个吧,让我开始快乐的爬取

拿到一个网站最重要的就是分析分析

F12 大法最为好用 拿这一周最火的小说为例

点开之后就是小说内容了,还有下一篇上一篇的链接,我们先找到所有内容的链接目录,方便列出所有链接

那我们拿到了所有的 li 标签就是存链接内容的 放在一个块元素里面
我们找的就是这个 用python 处理得到所有链接

Beautifulsoup 是bs4模块里面的用来进行标签解析使用前要import 进来

    soup =BeautifulSoup(content,"html.parser")div= soup.find('div',class_="volume-list") #查找div 里面的类属性为volume-list 的内容

然后内 就是找到<a 标签里面的链接了,采用正则表达式提取

    findLink= re.compile('<a href="(.*?)"')#生成匹配的内容link =re.findall(findLink,str(div)) 找到所有的链接 div上面生成的不是字符串所以要进行转化

再然后就是要进行提取每一章的名字,采用相同方法

    findText=re.compile('title="(.*?)">')text =re.findall(findText,str(div))

提取每一个链接的内容

上面我们提取完了所有链接和名后 点开一个链接单独看
同样方法 解析标签

提取涵盖content 类的div块元素

        soup = BeautifulSoup(content, "html.parser")div = soup.find('div', class_="content")

内容直接输出div.text : Beautifulsoup里面输出文本内容的方法
直接得到内容

内容处理

有了一个链接里面的小说内容就可以扩展到所有标签的内容了

这里建议采用try-except 来处理 因为下载一大半的时候会遇到一些问题阻断下载

name_s= (str(text_name[i]).strip()[0:6]+'.txt').replace(' ','')
#生成的文件名
print(name_s,end='')
file= open('./a/'+name_s,'a')#生成在a文件里面
file.write(div.text)
file.close()
print("写入完成")
file.close()

完整代码

采用函数分块思想 每个函数处理相应内容看起来更加直观简单

import  urllib.request
from bs4 import BeautifulSoup
import redef find():url= "http://book.zongheng.com/showchapter/672340.html"header={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36"}request= urllib.request.Request(url=url,headers=header)respond =urllib.request.urlopen(request)content= respond.read().decode()soup =BeautifulSoup(content,"html.parser")div= soup.find('div',class_="volume-list")findLink= re.compile('<a href="(.*?)"')link =re.findall(findLink,str(div))findText=re.compile('title="(.*?)">')text =re.findall(findText,str(div))return  link,textdef write(all_link,text_name):header={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36"}for i in range(len(all_link)):url =all_link[i]request = urllib.request.Request(url=url, headers=header)respond = urllib.request.urlopen(request)content = respond.read().decode()soup = BeautifulSoup(content, "html.parser")div = soup.find('div', class_="content")name_s= (str(text_name[i]).strip()[0:6]+'.txt').replace(' ','')print(name_s,end='')file= open('./a/'+name_s,'a')file.write(div.text)file.close()print("写入完成")file.close()if __name__ == '__main__':link,text=find()print(link)write(link,text)

结果及总结

  • 过程中遇到了一个问题没有加try except 导致爬取一半时候出现错误停止 这时候可以加入try模块 遇到问题不间断
  • 还是要多加练习正则匹配和爬虫的实战这样才能更加熟练
  • 还有就是 爬几次会遇到 访问异常的情况 之后会补充处理这样问题的文章

python爬虫小说爬取相关推荐

  1. python爬虫--小说爬取

    requests+bs4模块–简单爬虫实例–小说爬取 文章目录 section1:声明 section2:想法 section3:下载链接分析: section4:代码编写 1.导包 2.构建请求头 ...

  2. python爬虫之爬取起点中文网小说

    python爬虫之爬取起点中文网小说 hello大家好,这篇文章带大家来制作一个python爬虫爬取阅文集团旗下产品起点中文网的程序,这篇文章的灵感来源于本人制作的一个项目:电脑助手 启帆助手 ⬆是项 ...

  3. python爬虫下载小说_用PYTHON爬虫简单爬取网络小说

    用PYTHON爬虫简单爬取网络小说. 这里是17K小说网上,随便找了一本小说,名字是<千万大奖>. 里面主要是三个函数: 1.get_download_url() 用于获取该小说的所有章节 ...

  4. Python爬虫之爬取网络小说并在本地保存为txt文件

    Python爬虫之爬取网络小说并在本地保存为txt文件 注:本文使用软件为Sublime Text,浏览器为谷歌浏览器 (新手小白第一次写,写得不好请见谅) **1.**首先找到想要爬取的小说章节目录 ...

  5. 用PYTHON爬虫简单爬取网络小说

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...

  6. python爬取ajax动态内容肯德基门店,Python爬虫如何爬取KFC地址

    随着人们生活水平的提高,肯德基这类的快餐消费的十分火爆,成为小朋友和年轻人的最爱,我们到一个地方想要找到肯德基店面,会根据导航获取肯德基地址,那你知道我们也可以使用python爬虫获取KFC地址吗?我 ...

  7. python爬取网页表格数据匹配,python爬虫——数据爬取和具体解析

    标签:pattern   div   mat   txt   保存   关于   json   result   with open 关于正则表达式的更多用法,可参考链接:https://blog.c ...

  8. Python爬虫:爬取instagram,破解js加密参数

    Python爬虫:爬取instagram,破解js加密参数 instagram 是国外非常流行的一款社交网站,类似的还有像facebook.twitter,这些社交网站对于掌握时事热点.电商数据来源和 ...

  9. python爬取豆瓣电影top250_用Python爬虫实现爬取豆瓣电影Top250

    用Python爬虫实现爬取豆瓣电影Top250 #爬取 豆瓣电影Top250 #250个电影 ,分为10个页显示,1页有25个电影 import urllib.request from bs4 imp ...

  10. python爬取b站视频封面_学习笔记(4)[Python爬虫]:爬取B站搜索界面的所有视频的封面...

    学习笔记(4)[Python爬虫]:爬取B站搜索界面的所有视频的封面 import os import requests import re import json from bs4 import B ...

最新文章

  1. 序列表转换成横向菜单
  2. python中定义结构体
  3. oracle rodo 查看大小,Exadata — platforma bazodanowa | Oracle Polska
  4. OpenLDAP(2.4.3x)服务器搭建及配置说明
  5. 20-21-2网络管理quiz4
  6. OpenWRT原版固件安装
  7. 20145210 20145226实验一
  8. DO / DTO / BO / VO / AO
  9. 作业帮冯雪胡不归问题_作业帮学习平台微信服务号关注
  10. poj 3007 stl
  11. 经典数据库sql查询50题
  12. Autocad中批量调整增强属性块中的元素的位置
  13. 关于iOS 报Command failed with exit 128: git错误额解决方案
  14. Android中控件设置英文文本内容时区分大小写
  15. 09_Python3.6+selenium2.53.6自动化测试_通过class_name定位百度输入框
  16. java过滤微信昵称emoji表情
  17. 在 vi 编辑器中的命令模式下,删除当前光标处的字符使用 __ 命 令。
  18. 七夕礼物 | 全网最火的钉子绕线图制作教程
  19. Charles 的简单使用
  20. 神策-神策中的营销学

热门文章

  1. 什么是Banner图?
  2. 隐藏OEM分区的解决办法和推荐的清理磁盘的方法
  3. MIKE 21 教程 2.5 水动力模块教学:涡粘系数(Eddy viscosity),河床阻力与曼宁系数(Bed Resistance)
  4. Web报表系统葡萄城报表:报表设计
  5. apache实验报告 linux_Apache服务器配置实验报告
  6. 视频教程-嵌入式Linux驱动教程(韦东山2期)-驱动/内核开发
  7. 联盛德 HLK-W806 (十三): 运行FatFs读写FAT和exFat格式的SD卡/TF卡
  8. 北方直播卖货搞钱“第一城“,竟然是临沂,200万人发家快手电商
  9. DSP开发的一点概念
  10. Java 线程池常见误区