思路——根据网站链接爬取整个图片网站
2018-09-05 07:57:24来源:博客园 阅读 ()
八月入职新公司,发现公司的爬虫系统主要用Java实现的偶尔用一些python,为此又看了下Java爬虫,顺便用之前同事推荐我的美女图片网站练手(之前推荐时候python爬虫勉强算经验丰富,感觉难度太低没去爬,这次刚好拿来练手),附上网址http://www.mm131.com/,(对了,这个网站爬取要注意在请求头中加上refer的参数,不然你会发现爬到的是百度和腾讯的图标),在踩了几个Java的坑后完成了页面的爬取,但感觉接下来都是老套路,无非是按网站几大分类循环爬取进行页面网址拼接之类的,就想省事减少页面分析工作,想了下可行度极高,因为网站的分类和图片链接的域名都是一样的,可以以此为过滤条件。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------思路如下:
根据该网站相关链接爬取整个图片网站可行,主要有两点要注意:
(1)url链接的存储和消重;
解决方法:用布隆过滤器或直接用列表(List)进行存储和去重,每次将爬取完毕的url存储到列表(或布隆过滤器),并写入到文件中进行记录,在停止后重新爬取时直接将文件内的链接读取到列表(或布隆过滤器)中即可,为了减小内存消耗,就不记录图片的链接,图片链接可根据我们设定的图片命名方式直接利用os模块的os.path.isfile(filepath)或os.path.exisits(filepath)检查该图片链接是否在对应路径已存在该名称的图片。
(2)图片的分类和存储
解决方法:直接根据图片和人物分级创建文件夹存储图片,如mingxing(明星),chemo(车模),qipao(旗袍)。。
链接示例:
http://www.mm131.com/mingxing/2016.html
http://img1.mm131.me/pic/2016/1.jpg
爬取:1. 直接利用python的Scrapy框架进行分布式爬取;
2. (推荐推荐)自己写个,用python的urllib或requests(推荐)模块,再用上yield(生成器),简单实现分布式盘爬取,效率更高;
3. 用Java的HttpClient(功能强,更广泛)或Jsoup(使用简单)。
ps:今天大致就这样了,今天浪的太厉害,没啥时间写代码了(懒),,,浪荡的周日啊。。。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Python:游戏:测试打字速度
下一篇:python开发多用户在线FTP
- Python单元测试笔记 2019-08-13
- python将图片旋转,颠倒,修改尺寸 2019-07-24
- python爬虫登陆网页版腾讯课堂 2019-07-24
- 计算器实例 2019-07-24
- 如何在Python中显式释放内存? 2019-05-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash