一招学会爬图。。。你懂的

        上一期介绍了如何爬取小说,大佬们都觉得技术太简单,而且内容也不够精彩,经过认真反思总结之后,今天双手奉上爬图系列,请各位客官查收。

        工欲善其事必先利其器,先介绍本次需要使用的一些工具:

        1、Python3.6、BeautifulSoup、urllib、requests,re(正则表达式),这些都是老规矩了

        2、神秘嘉宾登场,感谢公司一姐的安利,Postman Interceptor(之后简称PI)插件,在Chorme浏览器访问的地址,都可以在插件中看到请求的接口

        那么,演出开始吧!

        这次,我们把目光放在了搜狗图片上https://pic.sogou.com/,打开chrome浏览器,在搜狗图片中输入“美女”,看看PI给我们返回了什么?


        我们看到PI记录到了2条接口记录,我们直接在postman上请求第一条接口,看看返回了什么?


                好像,好像,好像,。。。我们居然直接拿到了图片的地址,通过观察返回的数据,thumbUrl对应的地址应该就是图片的地址了,我们用正则表达式把这些数据拿出来看看 urls = re.findall("thumbUrl(.*?),",str(html), re.S)


        哇塞,居然一下子拿到了48条图片地址的数据!

       所以针对请求的连接https://pic.sogou.com/pics?query=%C3%C0%C5%AE&mode=1&start=48&reqType=ajax&reqFrom=result&tn=0,我们可以大胆预测,query对应的就是搜索的名字,而start就是搜索库中起始的位置,而每次搜索都可以拿到48个地址。

        剩下的就是将这48张图片地址下载到本地保存起来了,这个非常简单用urllib.request.urlretrieve()就能完成。

        运行代码,看下效果!

        好啦,48张美女图就这样下载下来了。

        PS:其实还可以预设需要下载几张图,只需要在爬地址的过程中增加循环,自己计算数量即可,这些基本的操作就不在这里献丑了,如有需要可自行修改代码。  代码保存地址:https://github.com/Jason0306/pc/blob/master/bg_2.py

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,144评论 1 45
  • 你可能需要的工作环境: Python 3.6官网下载 我们这里以sogou作为爬取的对象。 首先我们进入搜狗图片h...
    派派森森阅读 10,883评论 0 4
  • 本文章转载于搜狗测试 首先,容小编我说一个很尖锐的问题:业界有很多接口自动化工具,比如postman、jmeter...
    夜境阅读 2,642评论 0 0
  • 恩,今天过的平淡无奇,上下午的门诊,中午大家讨论科室收费的,然后一群人想让我教她们打肉毒素,我默默的搪塞过去,为嘛...
    蜕变的林林阅读 1,254评论 0 1
  • 我最讨厌说了却不去做的人。既然下定决心了,就要好好去做,奋不顾身。 ------野夜
    執毅阅读 1,046评论 0 0