Python下载漫画
上午起来提不起劲,于是就用电脑看漫画,但是在线看漫画好烦,就想下下来看。一个一个点太麻烦,于是花了点时间用python写了个demo,把爱漫画的漫画下载下来,这样就可以随时随地看了。这也是我首次尝试用python写不是数据处理的东西,还是很开心的。
做的具体思路就是利用python提供的urllib,urllib2的内容来做的,其中辅助了正则表达式模块re,用来进行匹配。因为自己水平不咋地,代码有点乱。。
代码:
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import urllib as ub1
import urllib2 as ub2
import re
def downloadCartoon(bookurl,localdir):
req = ub2.Request(bookurl)
f = ub2.urlopen(req)
for eachline in f:
line = eachline.strip()
if re.match('.*下载.*',line):
wordList = line.split('\"')
downloadurl='http://www.bbhou.com/'+wordList[1]
req1 = ub2.Request(downloadurl)#第2个是下载链接的页面URL地址,构造这个request,然后再次请求一个网页
#跳转到下载的页面,再次请求并进行下载
f1 = ub2.urlopen(req1)
for item in f1:
item2 = item.strip()
if re.match('.*zip',item2):
wl = item2.split('\"')
localname = localdir+wl[3]+'.zip'
ub1.urlretrieve(wl[1],localname.decode('utf-8'))#利用下载链接,下载到本地
print localname.decode('utf-8')+' downloaded.'
def GetCartoon(url):
#这里是漫画所有的列表,区域,这里循环获得每一卷的地址,然后调用上一个函数去进行下载
rooturl = 'http://www.bbhou.com/' #这是漫画地址的根目录,后面的连接需要根据这个进行跳转
request = ub2.Request(url)
response = ub2.urlopen(request)
lsturl = []
for every in response:
line = every.strip()
if re.match('.*/manhua/.*html.*',line):
piclist = line.split('\"')
for item in piclist:
if re.match('.*html.*',item):
cururl = rooturl+item
lsturl.append(cururl)
for url in lsturl:
try:
downloadCartoon(url,'E:\\')
except Exception,e:
continue
GetCartoon('http://www.bbhou.com/manhua/jinjidejuren/')
Python下载漫画的更多相关文章
- Python下载网页的几种方法
get和post方式总结 get方式:以URL字串本身传递数据参数,在服务器端可以从'QUERY_STRING'这个变量中直接读取,效率较高,但缺乏安全性,也无法来处理复杂的数据(只能是字符串,比如在 ...
- 【python 下载】-各种版本都有!
python 是一种全功能的语言,2.7很稳定,成熟的版本,且有很多开源的模块. 小编个人觉得python有一个很大的优点,就是语法简练,甚至可以说简单.比起pascal或者 C什么的,简单的难以置信 ...
- Python下载Yahoo!Finance数据
Python下载Yahoo!Finance数据的三种工具: (1)yahoo-finance package. (2)ystockquote. (3)pandas.
- [转] 三种Python下载url并保存文件的代码
原文 三种Python下载url并保存文件的代码 利用程序自己编写下载文件挺有意思的. Python中最流行的方法就是通过Http利用urllib或者urllib2模块. 当然你也可以利用ftplib ...
- 用python下载辞典
用python下载词源词典Etymoline Online Etymology Dictionary是最好的 English 词源词典,现在来说没有之一.但是,一直在PC上查单词有时不是很方便,遂就想 ...
- 如何用python下载一张图片
如何用python下载一张图片 这里要用到的主要工具是requests这个工具,需要先安装这个库才能使用,该库衍生自urllib这个库,但是要比它更好用.多数人在做爬虫的时候选择它,是个不错的选择. ...
- python下载安装BeautifulSoup库
python下载安装BeautifulSoup库 1.下载https://www.crummy.com/software/BeautifulSoup/bs4/download/4.5/ 2.解压到解压 ...
- python下载安装requests库
一.python下载安装requests库 1.到git下载源码zip源码https://github.com/requests/requests 2.解压到python目录下: 3.“win+R”进 ...
- python下载夏目友人帳
python下载夏目友人帐 一般情况下我们使用爬虫更多的应该是爬数据或者图片吧,今天在这里和大家分享一下关于使用爬虫技术来进行视频下载的方法,不仅可以方便的下载一些体积小的视频,针对大容量的视频下载同 ...
随机推荐
- utf8汉字编码16进制对照
utf8汉字编码16进制对照 GB Unicode UTF-8 Chinese Character Code code# Code (coded in UT ...
- PHP常用代码段:
1.PHP加密解密 function encryptDecrypt($key, $string, $decrypt){ if($decrypt){ $decrypted ...
- sphinx 简介以及安装 以及php拓展开启
一 sphinx 简介 在 使用mysql数据库过程中,如果想实现全文检索的优化,可以使用mysql自带全文索引,但是不支持中文..关于sphinx的安装网上很多教程写的都 不错比如:http:/ ...
- Android Framework------之Keyguard 简单分析
前面对于MediaPlayer的系统研究,刚刚开始,由于其他原因现在要先暂停一下.这次要看的模块是android 4.2 系统中的Keyguard模块.在接触之后才发现,android4.2的keyg ...
- c#xml序列化对象,xml标记都缩写了
最近最后一个接口,他们的格式很严格必须是如下格式 <message> <age>20</age> <name>张三</name> </ ...
- c# 無彈窗调用打印机
using System; using System.Collections.Generic; using System.Text; using System.Configuration; using ...
- ps的使用方法
1.打开原图素材,Ctrl + J把背景图层复制一层,按Ctrl + Shift + U去色,执行:滤镜 > 模糊 > 高斯模糊,数值4,图层混合模式为滤色,图层不透明度改为27%. 2. ...
- 应用SVN(CentOS中搭建SVN服务器)
简单介绍如何在虚拟机 CentOS 中,搭建 SVN 服务器. 软件版本信息 Vmware 10.0.0 build-1295980 CentOS 7.0-1406-x64 Java 1.7.0_67 ...
- (摘录)data guard switchover切换异常
查看DG数据库备份库发现,switchover_status为SWITCHOVER LATENT SQL> select OPEN_MODE,PROTECTION_MODE,PROTECTION ...
- BZOJ 1046 上升序列
Description 对于一个给定的S={a1,a2,a3,…,an},若有P={ax1,ax2,ax3,…,axm},满足(x1 < x2 < … < xm)且( ax1 < ...