title: 使用 Python 爬取帅哥到自己的电脑 date: 2018-11-18 01:03:22 tags: - 教程 - python - python爬虫 - python基础 categories: - python

写在前面

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

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

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

答应我,先别激动好么?

分析帅哥图片地址

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

'

.*?'

当我们要点击下一页的时候呢,可以发现请求地址携带了一个参数 /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 正在下载我们要爬取的图片:

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

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

完整代码:

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('

.*?',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()

相关

ps:还没获取我精心准备的 Python 电子书和思维导图等干货的可以在我的公众号「学习Python的正确姿势」中发送 python 免费获取哦!

别忘了点个赞哦!

python好看图案_Python:好看的男人们,快到碗里来!相关推荐

  1. python熊猫图案_Python熊猫:您可能不知道的技巧和功能

    python熊猫图案 Pandas is a foundational library for analytics, data processing, and data science. It's a ...

  2. python海龟作图好看图案_python海龟绘图,其实python也很强大,这些技能你知道吗?...

    Turtle库 简介 什么是Turtle 首先,turtle库是一个点线面的简单图像库,能够完成一些比较简单的几何图像可视化.它就像一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始 ...

  3. python海龟作图好看图案_Python中的高级turtle(海龟)作图

    在Python里,海龟不仅可以画简单的黑线,还可以用它画更复杂的几何图形,用不同的颜色,甚至还可以给形状填色. 一.从基本的正方形开始 引入turtle模块并创建Pen对象: >>> ...

  4. python函数调用位置_Python: 浅谈函数局部变量快在哪

    前言 这两天在 CodeReview 时,看到这样的代码 # 伪代码 import somelib class A(object): def load_project(self): self.proj ...

  5. 怎么用python爬豆瓣_python爬虫16 | 你,快去试试用多进程的方式重新去爬取豆瓣上的电影...

    我们在之前的文章谈到了高效爬虫 在 python 中 多线程下的 GIL 锁会让多线程显得有点鸡肋 特别是在 CPU 密集型的代码下 多线程被 GIL 锁搞得效率不高 特别是对于多核的 CPU 来说 ...

  6. 用python如何画出好看的地图

    最近正好在学空间数据处理,这次更一下用python如何画出好看的地图 下面主要是用 folium poltly geopandas+matplotlib 三种方式绘制地图 1.folium impor ...

  7. python熊猫图案_Python-熊猫

    python熊猫图案 Python-熊猫 (Python - Pandas) Pandas is an open-source Python Library used for high-perform ...

  8. Python学习教程(Python学习视频_Python学习路线):Day04循环结构

    Python学习教程(Python学习视频_Python学习路线):循环结构 循环结构的应用场景 如果在程序中我们需要重复的执行某条或某些指令,例如用程序控制机器人踢足球,如果机器人持球而且还没有进入 ...

  9. Python学习教程(Python学习视频_Python学些路线):Day05 总结和练习

    Python学习教程(Python学习视频_Python学些路线):总结和练习 练习清单 寻找"水仙花数". 寻找"完美数". "百钱百鸡" ...

最新文章

  1. iis7.5 php 404.17,win2008 r2中IIS7.5及以上设置404错误页面的正确方法
  2. 程序员面试题精选100题(07)-翻转句子中单词的顺序[算法]
  3. options请求_前端数据请求的终极方案
  4. Linux:程序员必备的21条Linux 命令
  5. [css] 判断第一行和第二行的颜色分别是什么?并解释为什么?
  6. Flutter TextField 边框样式以及提示文本 、Flutter输入文本TextField
  7. 视觉SLAM笔记(28) Ceres
  8. 工业富联灯塔工厂白皮书:智能制造里程碑.pdf(附下载链接)
  9. logback日志配置文件
  10. 古老的版本管理器---P4客户端配置流程,操作总结
  11. 计算机房图怎么画,机房CAD图纸的画法教程
  12. Beautiful Songs
  13. 如何使用图片的exif信息计算相机焦距
  14. 微信小程序生成分享图然后保存图片分享朋友圈
  15. NOIP 2010 普及组 三国游戏
  16. React 学习教程
  17. Yunzai-Bot(云崽) | Linux Docker保姆级安装教程
  18. pytorch repeat 使用详解
  19. 工作站 Linux 系统下无线网卡配置
  20. 百度目前开放的AI平台

热门文章

  1. boss直聘怎么发招聘信息_被聘为开发人员:高级招聘人员的提示
  2. WebForm 基础学习
  3. Windows10,夜间模式失效?
  4. PHP实现页面跳转的三种方式
  5. 开始→运行(cmd)命令大全
  6. JAVA实现类似淘宝物流路线图
  7. futuretask java_java的FutureTask类
  8. 从0开始建立谷歌云深度学习平台
  9. 下载Bing动态壁纸
  10. Python字典(附练习题)