文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

思路——根据网站链接爬取整个图片网站

2023-01-30 22:14

关注

    八月入职新公司,发现公司的爬虫系统主要用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:今天大致就这样了,今天浪的太厉害,没啥时间写代码了(懒),,,浪荡的周日啊。。。

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯