从零开始学习Python在e站上下载蕾姆的本子
来源:互联网 发布:java开发app 编辑:程序博客网 时间:2024/04/24 14:16
从零开始学习Python在e站上下载蕾姆的本子
郑重说明:
1. 本文仅仅只是Python技术应用的实践和探讨,本人绝不提供和传递任何违背国家相关法律的视频、音频及图像资料。
2. 本人也是刚刚开始接触Python,所以存在很多可以改进的地方,例如并没有采取多线程,没有做内存优化什么的,我会在之后的学习中会慢慢完善。
3. 有动力才能好好学习/滑稽
正文开始
首先看一下最终效果 /捂脸/捂脸(广大蕾姆党不要来打我)
准备材料:电脑(科学上网)
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 osimport urllibimport urllib2import requests as reqfrom bs4 import BeautifulSoupimport redef next_page(page_link): """ 检测有无next page :param page_link: url :return: nextpage exist => 1 nextpage exist => 0 """ content= get_content(page_link) if (content.find('Next Page'))!=-1: return 1 else: 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=1 new_url = page_link +'%d'%i while (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_new i+=1 new_url = page_link +'%d'%i print new_url else: new_url=page_link info = get_content(new_url) soup = BeautifulSoup(info) all_img_new = soup.find_all(rel="nofollow") all_img = all_img + all_img_new title = '蕾姆%s'%temp x=0 os.mkdir(r'E:\python\program\shenshi0210\%s'%title) for img_url in all_img: print img_url['href'] print x download(img_url['href'],x,title) x=x+1 returndef 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=x path= 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=0 for x in range(1,len(mulu_url)-1): print mulu_url[temp]['href'] temp+=1 get_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站上下载蕾姆的本子
- 我的学习笔记-刚从陶情网站上下载的Asp.Net学习的例子
- 由本子想到的
- 我的新本子
- DA站上一些很美好的素材下载-v-
- 《从零开始学习Hadoop》下载
- 从零开始的"E"世界(J2SE)
- 从零开始的"E"世界(J2SE)
- 从零开始的"E"世界(J2SE)
- 从零开始的"E"世界(J2SE)
- 从零开始的"E"世界(J2SE)
- 从零开始的"E"世界(J2SE)
- 从零开始的"E"世界(J2SE)
- 从零开始的"E"世界(J2SE)
- 从零开始的"E"世界(J2SE)
- 从零开始的"E"世界(J2SE)
- 从零开始的"E"世界(J2SE)
- 从零开始的"E"世界(J2SE)
- 直播总结
- 马拦过河卒
- C++ typedef关键字
- 解决:Invalid escape sequence (valid ones are \b \t \n \f \r \” \’ \\ )
- 关于AngularJS学习整理---核心特性
- 从零开始学习Python在e站上下载蕾姆的本子
- 选中一行或多行的快捷键
- 测试apsx与aspx.cs 关系
- 用正则表达式统计java工作行,注释行,空白行
- python进行基本的图像处理
- mysql数据库数据类型
- bootstrap select2 动态改变值
- HDU 5923 Prediction (并查集)
- 怎样编辑pdf文件的重点部分