从零开始学习Python在e站上下载蕾姆的本子


郑重说明:
1. 本文仅仅只是Python技术应用的实践和探讨,本人绝不提供和传递任何违背国家相关法律的视频、音频及图像资料。
2. 本人也是刚刚开始接触Python,所以存在很多可以改进的地方,例如并没有采取多线程,没有做内存优化什么的,我会在之后的学习中会慢慢完善。
3. 有动力才能好好学习/滑稽

正文开始

首先看一下最终效果 /捂脸/捂脸(广大蕾姆党不要来打我)

准备材料:电脑(科学上网)

  1. Python环境搭建

    先给大家介绍一下需要下载的工具:
    Python 2.7:纵观市面上Python2版本的视频资料教程还是比Python3多的,所以作为初学者,我还是使用Python2啦
    Python IDE:Pycharm5(其他IDE类似sublime,eclipse当然也可以啦)
    第三方插件:pip,requests, BeautifulSoup4.

    python安装和环境变量设置:
    http://www.runoob.com/python/python-install.html
    pip安装和使用pip安装其他插件:
    http://blog.csdn.net/olanlanxiari/article/details/48086917

过程解释

打开e站,查看源代码,我们可以看见

<a href="https://e-hentai.org/lofi/g/1004996/aa63985f71/">
<img src="https://ehgt.org/t/fc/6c/fc6c98c73c1f6d096967196e9bbb9e0435a1f0b1-485435-1000-1421-jpg_l.jpg" alt="Cover Image">
</a>

https://e-hentai.org/lofi/g/1004996/aa63985f71/ 是漫画的地址
https://ehgt.org/t/fc/6c/fc6c98c73c1f6d096967196e9bbb9e0435a1f0b1-485435-1000-1421-jpg_l.jpg这个是经过压缩之后的图片地址(一脸嫌弃)
因此我们进入漫画的地址

进入漫画地址后,再去查看源代码时,左图第一张图片对应的是右侧的代码

<a href="https://e-hentai.org/lofi/s/fc6c98c73c/1004996-1" rel="nofollow">
<img src="https://ehgt.org/t/fc/6c/fc6c98c73c1f6d096967196e9bbb9e0435a1f0b1-485435-1000-1421-jpg_l.jpg">
</a>

https://ehgt.org/t/fc/6c/fc6c98c73c1f6d096967196e9bbb9e0435a1f0b1-485435-1000-1421-jpg_l.jpg是缩略图的jpg(继续一脸嫌弃)

为了取得最好的观看效果,我们取前面的具有特征值rel=”nofollow”的地址,点击进去之后可以看见

我们在右侧发现了高清无码图片的存储地址

<img id="sm" src="http://125.143.18.117:56133/h/fbdb1dfcf1acde845490021f07e89a15e2625e46-124648-780-1108-jpg/keystamp=1486713900-0ab46e6f81;fileindex=49878524;xres=780/_1_ver2_copy.jpg" alt="_1_ver2_copy.jpg"
title="_1_ver2_copy.jpg" referrerpolicy="no-referrer" onerror="this.onerror=null; document.location=document.location+'?nl=1-412975'" onload="document.cookie = 'reload=; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT;'">

id=”sm” src=”http://125.143.18.117:56133/h/fbdb1dfcf1acde845490021f07e89a15e2625e46-124648-780-1108-jpg/keystamp=1486713900-0ab46e6f81;fileindex=49878524;xres=780/_1_ver2_copy.jpg”
特征id = “sm”, 后面附带图片地址,这个就是我们想要的!

所以,总结一下过程,目的是找蕾姆(误)non-H的本子,所以我们要在总目录页找到每一个漫画的地址(url),然后在每个漫画中遍历查找每一张高清无码图片的地址(url),之后通过爬虫技术把一张张图片拷贝进自己硬盘里。

# -*- coding: UTF-8 -*-
import os
import urllib
import urllib2
import requests as req
from bs4 import BeautifulSoup
import redef next_page(page_link):"""检测有无next page:param page_link: url:return: nextpage exist => 1nextpage exist => 0"""content= get_content(page_link)if (content.find('Next Page'))!=-1:return 1else:return 0def get_content(url):"""得到content信息:param url::return: content"""req = urllib2.Request(url)req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36")req.add_header("Host","e-hentai.org")req.add_header("Referer","https://e-hentai.org/lofi")html = urllib.urlopen(url)content=html.read()html.close()return contentdef get_images(page_link,temp):"""导入每一张漫画的url:param page_link: url:param temp: 地temp篇漫画:return:"""if next_page(page_link)!=0:info = get_content(page_link)soup = BeautifulSoup(info)all_img = soup.find_all(rel="nofollow")#for img in all_img:#    print img['href']i=1new_url = page_link +'%d'%iwhile (next_page(new_url))!=0:info = get_content(new_url)soup = BeautifulSoup(info)all_img_new = soup.find_all(rel="nofollow")all_img = all_img + all_img_newi+=1new_url = page_link +'%d'%iprint new_urlelse:new_url=page_linkinfo = get_content(new_url)soup = BeautifulSoup(info)all_img_new = soup.find_all(rel="nofollow")all_img = all_img + all_img_newtitle = '蕾姆%s'%tempx=0os.mkdir(r'E:\python\program\shenshi0210\%s'%title)for img_url in all_img:print img_url['href']print xdownload(img_url['href'],x,title)x=x+1returndef download(img_url,x,title):"""下载漫画:param img_url: url:param x: 张数:param title: 存入磁盘的位置:return: """info = get_content(img_url)soup = BeautifulSoup(info)img_real = soup.find_all('img', id="sm")print img_real[0]['src']img_name=xpath= os.path.join('E:\\python\\program\\shenshi0210\\%s'%title,'%s.jpg'%x)urllib.urlretrieve(img_real[0]['src'],path)def mulu_url(page_link):"""导入总目录页面所有漫画的url"""info_mulu = get_content(page_link)soup_mulu = BeautifulSoup(info_mulu)mulu_url = soup_mulu.find_all("a",{"class":"b"})temp=0for x in range(1,len(mulu_url)-1):print mulu_url[temp]['href']temp+=1get_images(mulu_url[temp]['href'],temp)return mulu_url[temp]['href']origin_page_link= 'https://e-hentai.org/lofi/?f_search=ram&f_apply=Search'
mulu_url(origin_page_link)

后记

Python真是博大精深!

最开始是准备用Python做数据分析的,然后不知不觉就入了爬虫的坑,当然这个程序也有太多太多不足,比如没有做多线程,速度实在太慢,变量的使用太过于随心所欲了,还有内存没有优化,跑起来速度真心有点慢。

大佬们请尽管做出批评的意见和建议,小弟在接下来的几个月会开始系统的正式学习Python,同为新萌的小伙伴们有空来我博客里玩耍吧!

接下来每两周会更新一次学习进展,大家一起加油!

从零开始学习Python在e站上下载蕾姆的本子相关推荐

  1. python新手教程 从零开始-Python零基础从零开始学习Python十分钟快速入门

    原标题:Python零基础从零开始学习Python十分钟快速入门 学习Python的,都知道Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.Python是一种动态解释型的 ...

  2. python零基础难学吗-如何从零开始学习Python,零基础学python难吗

    Python并不难学,它诞生至今已经过25个年头,但相对于其他语言,它更加易学.易读,非常适合快速开发,Python编程简单直接,更适合初学编程者. 那么,如何从零开始学习python呢? 可以分为这 ...

  3. python自学多久可以找到工作-25岁从零开始学习python还能找到工作吗?

    相信近期大家经常可以看到培训机构推出python相关的课程,随着人工智能技术逐渐进入大众的生活,这种编程语言以简单.应用广泛的优势,成为了进入人工智能领域的条件之一.对于精通python开发的人,在职 ...

  4. python语言怎么学-如何从零开始学习Python,python语言编程入门

    Python并不难学,它诞生至今已经过25个年头,但相对于其他语言,它更加易学.易读,非常适合快速开发,Python编程简单直接,更适合初学编程者. 那么,如何从零开始学习python呢? 可以分为这 ...

  5. 从零开始学习python | 实例讲解如何制作Python模式程序

    本文分享自华为云社区<从零开始学习python | 通过示例学习如何制作Python模式程序>,原文作者:Yuchuan . Python编程语言很容易学习.易于语法实现的各种库使其脱颖而 ...

  6. python零基础好学吗-如何从零开始学习Python,零基础学python难吗

    Python并不难学,它诞生至今已经过25个年头,但相对于其他语言,它更加易学.易读,非常适合快速开发,Python编程简单直接,更适合初学编程者. 那么,如何从零开始学习python呢? 可以分为这 ...

  7. 自学python能找到工作吗-25岁从零开始学习python还能找到工作吗?

    相信近期大家经常可以看到培训机构推出python相关的课程,随着人工智能技术逐渐进入大众的生活,这种编程语言以简单.应用广泛的优势,成为了进入人工智能领域的条件之一.对于精通python开发的人,在职 ...

  8. 从零开始学习python编程-Python3.5从零开始学 PDF 下载

    前言 第1章 进入Python 3.5的精彩世界 1.1 Python的起源 1.2 Python的应用场合 1.3 从2.7到3.5,Python的新特性 1.4 如何学习Python 1.5 Py ...

  9. 从零开始学习python编程-如何从零开始学python?

    在众多高大上的自学指导中,尝试做一股清流,把要讲清楚的都讲清楚,除了一堆资料之外,你能在学之前就有一个非常明显的结果倾向. 本文以<小白带你学Python>为内容方向,试图在繁杂的信息里, ...

最新文章

  1. 阿里云文件存储和自我管理的云解决方案的TCO比较
  2. 医学图像分类_全面梳理:图像配准综述
  3. Keil 出现Debug Error! DAMAGE:after Normal block
  4. Oracle Golden Gate 系列十七 -- GG 一对多 real-time data distribution 说明 与 示例
  5. 数据挖掘之KNN分类
  6. 惠普前总裁孙振耀指点职业规划
  7. 在数据采集器中用TensorFlow进行实时机器学习
  8. 【C】动态申请二维数组
  9. ADB启动或关闭APP
  10. 小程序UI库 iView Weapp
  11. 【热血传奇】 怪物添加(下)
  12. 2017计算机驱动用什么好处,驱动精灵和驱动人生哪个好2017
  13. oa项目经验描述_项目执行简历中的项目经验怎么写
  14. MTK logo.bin手动制作(个人博客:浏览器直接输入wugn.tech)
  15. MapReduce: Simplified Data Processing on Large Clusters
  16. 数值分析基础工具使用Matlab绘制双曲线
  17. android水电工具softonic,Softonic
  18. Android项目从零到上线的全过程
  19. 10条不可不知的手机礼仪 看看你犯过哪几项?
  20. exam平台Java试题阶段(二)

热门文章

  1. PS调出米黄色复古柔和外景人物照
  2. 试用Google工具条的网页翻译!
  3. 云呐|最新酒店行业固定资产管理办法,酒店实物资产管理系统
  4. STM32F429之LTDC驱动图解
  5. CDialog的使用
  6. 操作系统:线程死锁、饥饿、活锁
  7. html table转excel单元格带背景颜色
  8. 小白系列(1) | 计算机视觉之图像分类
  9. Android 如何自动拨号+拨打电话
  10. 威廉·维克瑞 和 拍卖