g.e-hentai 绅士爬虫
# encoding: utf-8
#
#pip install requests
import requests
#pip install BeautifulSoup4
import bs4import time
import os
import sysclass Spider(object):'''爬虫下载类类变量:proxies = 代理# 例如使用ss时: proxies = {'http':'http://127.0.0.1:1080'}'''def __init__(self,proxies=None):self.proxies = proxiesself.headers = {'User-Agent':'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)'}def __get_all_cataurl(self,catalogue_url):'''获取初始目录中的所有目录页面的url'''__all = []respond = requests.get(catalogue_url,proxies=self.proxies,headers=self.headers)soup = bs4.BeautifulSoup(respond.text,'html.parser')dls = soup.find_all(class_='ptt')if dls is None:__all.append(catalogue_url)for dl in dls:links = dl.find_all('a')for l in links:if l.string.isdigit():__all.append(l['href'])return __alldef __get_all_pic(self,cataurl):'''获取一个目录页面中的所有图片'''print('catalogue: '+cataurl)respond = requests.get(cataurl,proxies=self.proxies,headers=self.headers)soup = bs4.BeautifulSoup(respond.text,'html.parser')# create dirdirname = os.path.dirname(__file__)+'//'+soup.title.textdirname = dirname.replace('|','')if not os.path.exists(dirname):os.makedirs(dirname)# write link-url to link.txtwith open(dirname+"//link.txt","wt+") as f:f.write(self.__cata_url)# save all picfor dls in soup.find_all(class_='gdtm'):# get pic-page-urlpicpage_url = dls.a['href']print('picpage-url: '+picpage_url)# get pic-num-idnum = picpage_url[picpage_url.rfind('-')+1:]pic_path = "%s//%s.jpg" % (dirname,num)if os.path.isfile(pic_path) == False:# download picturer = requests.get(picpage_url,proxies=self.proxies,headers=self.headers)s = bs4.BeautifulSoup(r.text,'html.parser')for dl in s.find_all('img'):if dl.get('style') is not None:print('=>'+num+'.jpg')r = requests.get(dl.get('src'),proxies=self.proxies,headers=self.headers)with open(pic_path,'wb') as f:f.write(r.content)print('download success!')else:print('the file already exists')def get_pictures(self,catalogue_url):'''传入第一个页面的目录URL(catalogue_url) 下载所有的绅士图片'''# get all cata-htmlself.__cata_url = catalogue_urlfor cataurl in self.__get_all_cataurl(catalogue_url):self.__get_all_pic(cataurl)if __name__ == '__main__':proxies = {'http':'http://127.0.0.1:1080'}#CATAURL = "http://g.e-hentai.org/g/994160/xxxxxx/"CATAURL = input("输入目录网址: ");s = Spider(proxies)s.get_pictures(CATAURL)
转载于:https://my.oschina.net/tasker/blog/812528
g.e-hentai 绅士爬虫相关推荐
- 7 爬虫爬取网页文章(保留图片和文本顺序,原封不动)的数据库设计,且避免重复抓取...
1 设计思考 1.1 关于爬取文章存储的思考 第一,文章要抓取到本地: 第二,查询文件大小,如果文件过大,超出多少M,则新建一个主题文件比如:file="./"+"微信文 ...
- 肝了N小时,整理了100+Python爬虫项目
提到爬虫,相信绝大部分人的第一反应就是 Python,尽管其他编程语言一样能写爬虫,但在人们的印象中,爬虫似乎与 Python 绑定了一样,由此可见爬虫在 Python 中的份量. 最近小二做了个免费 ...
- 【数据挖掘】3、NumPy与Pandas 清洗、爬虫、 SciKitLearn 变换、可视化
文章目录 一.NumPy 1.1 创建数组 1.2 结构数组 1.3 连续数组 1.4 算数运算 1.5 统计函数 1.6 排序 1.7 实战 1.8 FAQ 1.8.1 axis 1.8.2 数据类 ...
- 肝了N小时,整理了100+Python爬虫项目(附源码)
提到爬虫,相信绝大部分人的第一反应就是 Python,尽管其他编程语言一样能写爬虫,但在人们的印象中,爬虫似乎与 Python 绑定了一样,由此可见爬虫在 Python 中的份量. 最近我做了个免费的 ...
- ArcGIS|一文彻底搞懂GIS图斑编号
实际工作中,经常会有对各类图斑进行编号的需求.数据中图斑数比较少时,我们可以手动进行编号,但数据量较大时就必须得想办法自动实现图斑编号.今天,将分享几种常见的图斑自动编号方式,主要包括:图斑顺序编号. ...
- APPCrawler基础教程
一.背景 一年前,我们一直在用monkey进行Android 的稳定性测试 ,主要目的就是为了测试app 是否会产生Crash,是否会有ANR,页面错误等问题,在monkey测试过程中,实现了脱离Ca ...
- 文件上传之伪Ajax方式上传
From: <由 Windows Internet Explorer 8 保存> Subject: =?gb2312?B?zsS8/snPtKvWrs6xQWpheLe9yr3Jz7SrI ...
- 跟我斗图,我用Python爬虫下载几个G的表情砸死你
有一个网站,叫做"斗图啦",网址是:https://www.doutula.com/.这里面包含了许许多多的有意思的斗图图片,还蛮好玩的.有时候为了斗图要跑到这个上面来找表情,实在 ...
- 怎么把动态图从python弄下来_发一只我一直在用的爬虫——爬取“解闷”动态图的爬虫,绅士不妨留步^=^...
马上注册,结交更多好友,享用更多功能^_^ 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 本帖最后由 疾风.意破天晴 于 2018-5-27 13:56 编辑 因为GIF这种东西似乎从诞生到 ...
最新文章
- Java中使用序列化实现深拷贝
- SAP RETAIL 特性树(Characteristic Tree)的定义
- Python网络编程1--笔记
- [Google App Engine] Hello, world!
- python怎么导入文件-Python 导入文件过程图解
- msm8953之串口dts配置
- 一款针对Outlook的红队安全研究工具
- jQuery判断checkbox是否选中的3种方法
- 验证规则构建神器 FluentValidation.md
- C#网络类智能开关控制板实例
- 【M1芯片兼容】office 2021 Mac正式版最新更新
- 一周完成的小项目-某银行短信发送
- Oracle 11g新特性密码大小写敏感问题
- 自我监督学习和无监督学习_弱和自我监督的学习-第2部分
- Strusts2笔记6--拦截器
- b、B、kb、kB单位
- php silk文件转换mp3,微信小程序silk录音文件转mp3
- 从了解Linux开始
- oracle 删除asm,删除ASM实例
- 【张飞实战电子】硬件设计与开发第1部:线性稳压电源的设计 笔记
热门文章
- 2022-2027年中国公共图书馆资源行业发展监测及投资战略研究报告
- 高德地图聚合android,GitHub - lingyanluoxue/android-togetherMap: 实现高德地图的marker聚合功能...
- SQL Server新建维护计划
- 中健长生露祝贺中国奥运健儿东京凯旋
- 每天睁开眼,开源众包就欠你60万!
- 2017黑加传智java_传智黑马 Java在职加薪课 学成在线
- Yunzai-Bot v3—Linux服务器搭建教程
- php文章段落,php – 段落功能的新行
- matlab 克里金插值,克里金插值(arcgis克里金插值步骤)
- 如何通过一张照片来获取ip地址?