一切从最简单开始

峰绘网 :http://www.ifenghui.com/

一个比较好爬的漫画网,之所以选择这个网站,因为查看源代码能直接获得漫画的jpg连接,而且每一话所有的jpg一次性的都展示出来

人气排行榜最高的黑水潭

爬取单话

昆虫学家 上 (28p)

#coding=utf-8
import os
import urllib
import urllib2
from bs4 import BeautifulSoup request = urllib2.Request("http://www.ifenghui.com/index/comics/read/chapterId/19352.html")
response = urllib2.urlopen(request)
html_=response.read()
soup=BeautifulSoup(html_,"lxml")
i=0
for a in soup.find_all(class_="fh-read-img"):
i=i+1
num=str(i)
url = a.get('ssrc')
if not os.path.exists("C:/manhua"):
os.mkdir("C:/manhua")
file_="C:/manhua/"+num+".jpg"
urllib.urlretrieve(url,file_)
print '第'+num+'张漫画下载OK'
print '下载完成'

把url换成其他话

昆虫学家 下 (28p)

http://www.ifenghui.com/index/comics/read/chapterId/20560.html

也没问题

爬取整部漫画

#coding=utf-8
import os
import re
import urllib
import urllib2
from bs4 import BeautifulSoup request = urllib2.Request("http://www.ifenghui.com/index/comics/manhua/id/3235.html")#漫画目录
response = urllib2.urlopen(request)
html_=response.read()
soup=BeautifulSoup(html_,"lxml")
title_=''
tit=soup.title.string #获得标题
for t in tit:
if t==' ':
break
else:
title_=title_+t#获得截取后的标题
findAll=soup.find_all('a',attrs={'href':re.compile('^/index/comics/read/chapterId')})
chapter=findAll[3:]#获得全部张节的list
chapter.reverse()#倒叙list
elementNum=len(chapter)#统计元素个数,用来循环
i=0
if not os.path.exists("D:/manhua"):
os.mkdir("D:/manhua")#在D盘下新建一个文件夹
for eachChapter in chapter:
i = i + 1
chapterNum = str(i) # 打印漫画下载到第几章
chapterTitle=eachChapter.string#获得每章的标题名
rootUrl='http://www.ifenghui.com'#根目录
chapterUrl=rootUrl+eachChapter.get('href')#根目录+相对地址=每章完整的URL
#print chapterTitle#打印每章打印标题名
#print chapterUrl#打印每章标题链接的URL
request = urllib2.Request(chapterUrl)
response = urllib2.urlopen(request)
html_=response.read()
soup=BeautifulSoup(html_,"lxml")
j=0#以下载图片的顺序重新命名图片名
if not os.path.exists("D:/manhua/" + title_): ##########chapterTitle
os.mkdir("D:/manhua/" + title_) # 以本章名新建文件夹##########chapterTitle
for a in soup.find_all(class_="fh-read-img"):#
j=j+1
pictureNum = str(j) # 打印漫画下载到第几张
pictureUrl = a.get('ssrc')#获得本图片的URL网址
if not os.path.exists("D:/manhua/"+title_+"/"+chapterNum):##########chapterTitle
os.mkdir("D:/manhua/"+title_+"/"+chapterNum)#以本章名新建文件夹##########chapterTitle
file_="D:/manhua/"+title_+"/"+chapterNum+"/"+pictureNum+".jpg"##########chapterTitle
urllib.urlretrieve(pictureUrl,file_)#下载到本地,并重命名
print '第'+chapterNum+'章的第'+pictureNum+'页漫画下载OK'
print '第'+chapterNum+'章下载完成'
print '所有下载完成'

(18) python 爬虫实战的更多相关文章

  1. Python爬虫实战七之计算大学本学期绩点

    大家好,本次为大家带来的项目是计算大学本学期绩点.首先说明的是,博主来自山东大学,有属于个人的学生成绩管理系统,需要学号密码才可以登录,不过可能广大读者没有这个学号密码,不能实际进行操作,所以最主要的 ...

  2. Python爬虫实战八之利用Selenium抓取淘宝匿名旺旺

    更新 其实本文的初衷是为了获取淘宝的非匿名旺旺,在淘宝详情页的最下方有相关评论,含有非匿名旺旺号,快一年了淘宝都没有修复这个. 可就在今天,淘宝把所有的账号设置成了匿名显示,SO,获取非匿名旺旺号已经 ...

  3. Python爬虫实战六之抓取爱问知识人问题并保存至数据库

    大家好,本次为大家带来的是抓取爱问知识人的问题并将问题和答案保存到数据库的方法,涉及的内容包括: Urllib的用法及异常处理 Beautiful Soup的简单应用 MySQLdb的基础用法 正则表 ...

  4. Python爬虫实战五之模拟登录淘宝并获取所有订单

    经过多次尝试,模拟登录淘宝终于成功了,实在是不容易,淘宝的登录加密和验证太复杂了,煞费苦心,在此写出来和大家一起分享,希望大家支持. 温馨提示 更新时间,2016-02-01,现在淘宝换成了滑块验证了 ...

  5. Python爬虫实战三之实现山东大学无线网络掉线自动重连

    综述 最近山大软件园校区QLSC_STU无线网掉线掉的厉害,连上之后平均十分钟左右掉线一次,很是让人心烦,还能不能愉快地上自习了?能忍吗?反正我是不能忍了,嗯,自己动手,丰衣足食!写个程序解决掉它! ...

  6. Python爬虫实战二之爬取百度贴吧帖子

    大家好,上次我们实验了爬取了糗事百科的段子,那么这次我们来尝试一下爬取百度贴吧的帖子.与上一篇不同的是,这次我们需要用到文件的相关操作. 前言 亲爱的们,教程比较旧了,百度贴吧页面可能改版,可能代码不 ...

  7. Python爬虫实战一之爬取糗事百科段子

    大家好,前面入门已经说了那么多基础知识了,下面我们做几个实战项目来挑战一下吧.那么这次为大家带来,Python爬取糗事百科的小段子的例子. 首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把 ...

  8. Python爬虫实战之爬取百度贴吧帖子

    大家好,上次我们实验了爬取了糗事百科的段子,那么这次我们来尝试一下爬取百度贴吧的帖子.与上一篇不同的是,这次我们需要用到文件的相关操作. 本篇目标 对百度贴吧的任意帖子进行抓取 指定是否只抓取楼主发帖 ...

  9. 《精通Python网络爬虫》|百度网盘免费下载|Python爬虫实战

    <精通Python网络爬虫>|百度网盘免费下载|Python爬虫实战 提取码:7wr5 内容简介 为什么写这本书 网络爬虫其实很早就出现了,最开始网络爬虫主要应用在各种搜索引擎中.在搜索引 ...

随机推荐

  1. Gym - 101981D Country Meow(模拟退火)

    题意 三维空间有\(n\)个点,找到另外一个点,离所有点的最大距离最小.求这个距离. 题解 \(1\).最小球覆盖,要找的点为球心. \(2\).模拟退火. 还是补一下模拟退火的介绍吧. 模拟退火有一 ...

  2. Android四大组件之服务

    创建一个服务,并与活动绑定 作为安卓四大组件之一的服务,毫无例外也要在manifast中进行注册 新建服务类继承于Service,并覆盖onBind( )方法,用于与活动绑定 public class ...

  3. Excel动画教程50例(三)

    Excel动画教程50例(三) 31.Excel自定输入数据下拉列表 32.Excel正确输入身份证号码 33.Excel数据排序操作 34.Excel数据表格中如何将姓名信息按笔画排列 35.Exc ...

  4. python学习_运算

    1.数据类型 1.1数字 整型int,如2 浮点型float,如3.14和314E-2 复数complex,如(-5+4) 1.2布尔值 真或假 1或0 1.3字符串 'hello world' 2. ...

  5. sqlserver创建存储过程返回table

    --创建存储过程test create procedure [dbo].[test] ( @I_MTR NVARCHAR (MAX), @I_TYPE NVARCHAR (MAX), @I_FAC N ...

  6. 【转】Visual Studio 2013 Tools for Unity安装目录,Visual Studio 2013 Tools.unitypackage

    http://blog.csdn.net/dynastyting/article/details/46505349 Visual Studio 2013 Tools for Unity安装目录 D:\ ...

  7. 设计模式(一)单例模式:2-懒汉模式(Lazy)

    思想: 相比于饿汉模式,懒汉模式实际中的应用更多,因为在系统中,“被用到时再初始化”是更佳的解决方案. 设计思想与饿汉模式类似,同样是持有一个自身的引用,只是将 new 的动作延迟到 getinsta ...

  8. P2846 [USACO08NOV]光开关Light Switching

    题目描述 Farmer John tries to keep the cows sharp by letting them play with intellectual toys. One of th ...

  9. SQL死锁

    我们操作数据库大量数据时,可能会出现死锁现象. 所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统 ...

  10. [JSOI2007]建筑抢修 (贪心)

    题目链接 Solution 可以考虑 \(dp\) ,但是很显然 \((n^2)\) 降不下来. 然后考虑贪心,首先,绝对的正确的是,在同等的情况下,给后面的留更多的时间. 首先按照 \(T_2\) ...