简单的小爬虫-漫画爬取
好久没写代码了,快毕业了天天闲着玩游戏刷视频,最近刷七原罪这部动漫的时候,感觉动漫更新太慢,就去追漫画,于是为了方便观看避免广告的干扰,就写了个小爬虫,顺便练习练习python…
由于目前七原罪漫画资源好像风之动漫可以看到,所以就针对其中的漫画网页写了相应的正则(写的有点low),其中fzdm中的56是七原罪这漫画的代码,downpart为下载。
2018.9.4更新———支持多线程下载———-
代码:
import requests
import re
import os
import threading
import timeclass fzdm:addr="https://manhua.fzdm.com/"def __init__(self,mhtype):if isinstance(mhtype,str):passelse:mhtype=str(mhtype)self.m_thread=[]self.type=mhtypeself.mhaddr=self.addr+mhtypeself.startpart="001"r=requests.get(self.mhaddr)pattern='href="(\d+)/"'result=re.search(pattern,r.content.decode('utf-8'))if result:self.endpart=result.group(1)def downloadPart(self,index):if isinstance(index,str):passelse:index=str(index)start=0url=self.mhaddr+"/"+index+"/"+"index_"+str(start)+".html"while self.downloadImage(url) == False:start+=1url=self.mhaddr+"/"+index+"/"+"index_"+str(start)+".html"def downloadPart_s_e(self,s="001",e=0):if e == 0:e=self.endpartif isinstance(s,str) == False:s=str(s)if isinstance(e,str) == False:e=str(e)index=[]while int(s)<=int(e):tmp_thread=threading.Thread(target=fzdm.downloadPart,args=(self,s,))#self.downloadPart(s)tmp_thread.start()self.m_thread.append(tmp_thread)s=str(int(s)+1)for i in self.m_thread:i.join() def downloadImage(self,url):r=requests.get(url)isendpattern='最后一页了'result_isend=re.search(isendpattern,r.content.decode('utf-8'))imgpattern='var mhurl="(\d+/\d+/\d+\.jpg)";'result_img=re.search(imgpattern,r.content.decode('utf-8'))indexpattern='(七原罪\d+话)'result_mh=re.search(indexpattern,r.content.decode('utf-8'))time.sleep(5)if result_img:mhname=result_mh.group(1) img=result_img.group(1)imgurl="http://p1.xiaoshidi.net/"+imgr=requests.get(imgurl)time.sleep(5)if os.path.exists("download/"+mhname):passelse:os.mkdir("download/"+mhname)filename=img.replace('/','.')f=open("download/"+mhname+"/"+filename,"wb")f.write(r.content)f.close()print('下载图片完成~')if result_isend:return Trueelse:return Falsea=fzdm("56")
a.downloadPart_s_e(277,278)
同时下载多个章节,但是这个线程开得有点随便,应该设置一个缓冲区,限制开的线程数量,开太多线程开销太大
简单的小爬虫-漫画爬取相关推荐
- 如何用python做考勤_【python爬虫教程 考勤】如何用Python实现一只小爬虫,爬取拉勾网...
python爬虫入门教程全集 千锋官网上有一些是零基础入门学习的很不错 如何用Python实现一只小爬虫,爬取拉勾网 1.首先打开拉,并搜索"java",显示出职位信息就是我们的目 ...
- 最简单的python爬虫实战——爬取王者荣耀皮肤及头像
看到某公众号的一篇非常容易上手的爬虫实例,之前只是模拟登陆过,还没有爬取过数据或者文件,一直没怎么接触过json这个东西,发现也没有那么难上手,233333,总之是一次非常愉快的爬虫经历,简单又简洁的 ...
- Python小爬虫,爬取当前全部股票信息
基本算是一个中小型爬虫,2000多股票信息全爬取,不知道发爬虫是否合乎规矩,因此稍微隐藏了两行超简单的代码,略懂python的人应该很轻松能补上. import requests import re ...
- 五分钟写一个小爬虫,爬取小说并写入txt文件
先上代码: #-*- coding:UTF-8 -*- import requests from lxml import html url='http://www.shuge.net/html/111 ...
- 贴吧小爬虫之爬取源码
在做爬虫工作之前,永远先做好笔记: 确定要爬取的url,爬取的具体内容是什么,用什么形式展现爬取到的内容. 博客的标题大家也看到了,爬取的是贴吧的源码,也就是说任何贴吧的源码都能爬. 不光第一页还要爬 ...
- Python小爬虫:爬取开心网日记,乐趣无穷
项目地址: https://github.com/aturret/python-crawler-exercise 用到了BeautifulSoup4,请先安装. pip install beautif ...
- python3 --小爬虫(爬取美剧字幕)
# !bin/usr/env python3 # coding=utf-8 import re import urllib.request from bs4 import BeautifulSoup' ...
- Python新手爬虫训练小项目《爬取彼岸图网》(超详细讲解版)
Python新手爬虫训练小项目<爬取彼岸图网>(超详细讲解版) 这是我的第一篇文章,作为一名新手爬虫,这个算是我这几天来的努力成果,虽然代码寥寥几行但花费了大半天,新手上路还是不能只看视频 ...
- 实现一个go语言的简单爬虫来爬取CSDN博文(一)
http://blog.csdn.net/tyBaoErGe/article/details/50375802?hmsr=studygolang.com&utm_medium=studygol ...
最新文章
- archlinux常用的包管理器
- Git知识点笔记-基本常识
- 【ESP8266】NONOS SDK开发,发送HTTP请求
- MyBatis-Plus 高级功能 —— 自动填充功能
- 2021-11-14Iterator迭代器
- Navicat数据库错误2003 Can not connect to Mysql Server on以及Windows无法启动mysql 错误1069
- 如何拉取k8s镜像_K8s 从懵圈到熟练 – 镜像拉取这件小事
- Vue与Element入门使用
- Google Ads支付宝付款功能正式上线
- ssms18还原数据_SSMS 18中的静态数据屏蔽
- 用于编写configure.in的Config语言简介
- K个排序链表的合并(Hard)
- 遥感影像预处理流程及基本概念介绍(辐射校正、辐射定标、大气校正、正射校正等)
- MAC快捷键还原最小化的(cmd+M)程序窗口
- CRC32绕过RAR密码
- 打造舒适搬砖环境,这些是我最想推介的桌面好物
- drawer的用法_drawer是什么意思_drawer的翻译_音标_读音_用法_例句_爱词霸在线词典...
- VisionPro斑点工具CogBlobTool
- 2ASK、2FSK、2PSK、2DPSK、4ASK、4FSK、4PSK、4DPSK、QPSK,以及4QAM、16QAM和MSK、GMSK这些调制和解调过程
- 微积分与概率论的基础知识
热门文章
- mysql数据库链接驱动jar包的下载(Jmeter中使用为例)
- Unity 实用小技巧
- mysql blob图片类型存储bug解决:索引超出了数组界限错误,MySqlBlob图片类型存储Bug解决:索引超出了数组界限错误_MySQL...
- QT软件开发之基础控件--2.5.3 QLCDNumber 数码管控件
- 标准工时最常用的计算方法有哪些?什么方法最好用呢?
- 牛客网C++刷题 万能头文件
- 苏宁闯入二手房市场,每套服务费仅9999元
- 即时通讯实时视频聊天技术提供QoS保证的方法
- CloudSim 4.0源码阅读笔记(功耗实例)
- 2021年MathorCup高校数学建模挑战赛B题三维团簇的能量预测解题全过程文档加程序