美文网首页码农的世界程序员
Python:好看的男人们,快到碗里来!

Python:好看的男人们,快到碗里来!

作者: b4a0155c6514 | 来源:发表于2019-01-25 14:01 被阅读7次

写在前面

前不久,公众号后台有妹子不高兴了,私信我说,我为什么会觉得我公众号的人都是喜欢看女人呢?什么时候发发男人啊。

想想也是,毕竟关注这个公众号有 15.6% 是妹纸呢。怎么能没有男人呢?

学习Python中有不明白推荐加入交流群

号:864573496群里有志同道合的小伙伴

,互帮互助,群里有不错的视频学习教程

和PDF!每晚8:00群里直播

那么接下来就把你想要的帅哥,用 Python 把它们装进自己的电脑。

刚好看到这个地址:

http://www.shuaige5.com/tag/xinggannanren/ 

发现里面的性感男人真的很sexy哇。

答应我,先别激动好么?

分析帅哥图片地址

首先来分析一下我们要爬取的这些图片地址,通过 Chrome 的开发者工具可以看到这些图片的地址在 img 标签中,但是这个地址有点奇怪,在 src 里面还有一个 src 指向图片的地址,我们要的图片地址就是在第二个 src 指向的地址,所以我们的正则应该是这样:

1'<div class="inner_wrapper_img inner_wrapper_img1">.*?<img.*?src="/e/ext.*?src=(.*?)&amp;h=240&amp;w=190&amp;zc=1".*?</div>'

当我们要点击下一页的时候呢,可以发现请求地址携带了一个参数/index_2.html,所以我们可以通过这个变量来获取多页的图片数据。

爬取男人图片

那么分析完之后我们就开始下手吧,我们可以创建一个叫做 shuaige 的图片文件夹,专门来放这些帅哥的

os.mkdir(dirName)

os.chdir(dirName)

接着我们可以定义几个变量:

pageNumber = 2 #用于获取不同页数的图片

x = 0 #用于图片名称

img_address = [] #存放爬取到的图片地址

比如我们想要获取第 2 到第 4 张图片,那么我们就可以写一个循环来获取数据:

while pageNumber < 5 :

   page_url = url + '/index_'+str(pageNumber)+'.html' #获取不同页数的图片

   addrs = find_imgs(page_url) #获取地址

   for i in addrs:

       if i in img_address :

           continue

       else:

           img_address.append(i) # 降低至存追加到img_address这个变量里面

    pageNumber += 1

for each in img_address:

   filename = str(x) + ".jpg"

   x+=1

   with open(filename,'wb') as f: # 将图片写入文件夹

       img = url_open(each).content

       f.write(img)

ok,我们来运行一下,可以看到在我们的项目目录中创建了一个叫做 shuaige 的文件夹,python 正在下载我们要爬取的图片:

打开文件夹一看,一堆 sexy 男人都有了:

友情提示:小爬怡情,大爬伤身!

完整代码:

import os

import re

import requests

def url_open(url):

   # 以字典的形式添加请求头

   header = {

       'User-Agent': "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0"

   }

   # 使用get方法发送请求获取网页源码

   response = requests.get(url, headers=header)

   return response

def find_imgs(url):

   html = url_open(url).text

   pattern = re.compile('<div class="inner_wrapper_img inner_wrapper_img1">.*?<img.*?src="/e/ext.*?src=(.*?)&amp;h=240&amp;w=190&amp;zc=1".*?</div>',re.S)

   img_addrs = re.findall(pattern, html)

   return img_addrs

def download_shuaige(dirName="shuaige"):

   os.mkdir(dirName)

   os.chdir(dirName)

   pageNumber = 2

   x = 0

   img_address = []

   while pageNumber < 5 :

       page_url = url + '/index_'+str(pageNumber)+'.html'

       addrs = find_imgs(page_url)

       print(len(addrs))

       for i in addrs:

           if i in img_address :

               continue

           else:

               img_address.append(i)

           print(len(img_address))

       for each in img_address:

           print(each)

       pageNumber += 1

   for each in img_address:

       filename = str(x) + ".jpg"

       x+=1

       with open(filename,'wb') as f:

           img = url_open(each).content

           f.write(img)

if __name__ == '__main__':

   url = "http://www.shuaige5.com/tag/xinggannanren"

   download_shuaige()

相关文章

  • Python:好看的男人们,快到碗里来!

    写在前面 前不久,公众号后台有妹子不高兴了,私信我说,我为什么会觉得我公众号的人都是喜欢看女人呢?什么时候发发男人...

  • “相亲男”快到碗里来

    相亲遇到爱。莉莉永远没有想到自己的爱情是这样的一种出场方式。 莉莉那年25岁,在上海工作快三年了,家里人催着找男朋...

  • Python零基础入门班

    快到發姨的碗里来,一起学Python! Python 变量类型 Python的标准数据类型只有5个,分别是数字、字...

  • 快到碗里来

    一年又一年,周而复始,走了一批又来了一批。我们走过的路2018级的学弟学妹终将也要走过一遍。 当初一脸懵×的我查到...

  • 快到盘子里来

    有趣来源于生活,又高于生活O(∩_∩)O 禅师与兰花 有一位禅师很喜欢养兰花。有一次他外出云游,就把兰花交代给徒弟...

  • 快到碗里来

    不知道如何装修自己的新家?什么风格都觉得好看,有选择恐惧症?怕把新家装修成四不像?今天小编就来告诉你一个另类的家居...

  • 快到碗里来

    昨天办公室来了一名小鲜肉,看年龄二十多岁,瘦瘦高高,坐在其中的一个空位上低头玩手机,我们每一个进来的人都很诧异,忍...

  • 快到碗里来

    文/肖丽苹 快到碗里来,这是广告的一则口头语。现代的爱情也是如是。我们怀揣着希望到菜市场,总想花最少的付出买到全家...

  • 快到碗里来

    本人男,爱好女。嘿嘿跟你开玩笑啦。 请容许我正经地介绍一下我自己。 我,28岁,180cm,大龄单身男...

  • “快到碗里来”

    ——选自个人旧作《教育行思录》 “快到碗里来!你才到碗里去!”相信许多人听到这两句话都知道出自哪里。 说来我真是愚...

网友评论

    本文标题:Python:好看的男人们,快到碗里来!

    本文链接:https://www.haomeiwen.com/subject/dvvmjqtx.html