使用Python爬取图片。

1 说明

本文通过爬虫程序的编写,实现了一个简单易懂的爬虫程序,方便初学者理解,主要程序分为网页获取函数,以及保存下载函数,这就是所有爬虫程序的基本思想。(本文不涉及反爬,具体反爬程序以后再说),文章最后附上全部代码。

爬取目标网站为

https://www.3gbizhi.com

此网站没有反爬,图片质量也很好,爬取时需加延时,不要给他们的服务器造成太大负担,且用且珍惜!!!

2 准备事项:

先pip安装以下命令

使用的第三方库

1.配置以下请求头,模拟自己是个浏览器

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36 Edg/86.0.622.58',

"Cookie": "UM_distinctid=1758c184bea97-0d217f1a4272e5-7d677f67-144000-1758c184beb5c8; CNZZDATA1255139604=1098251314-1604371519-%7C1604403769; Hm_lvt_3b19253d112290a9184293cf68a02346=1604373205,1604402882,1604407056; _uupv=3; Hm_lpvt_3b19253d112290a9184293cf68a02346=1604407260"

}

2.通过分析网址,发现此网页的分类是根据url的名字变化,实现,因此,我们只需要将分类之后的文字作为参数传入get_parse_page函数中,就可以找到目标网页。

def get_parse_page(name):

# name是你要搜索的关键词

url = r'https://www.3gbizhi.com/%s'%(name)

#1. 发送请求,获取相应

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

html = response.content.decode()

# print(html)

# 2.正则表达式解析网页

results = re.findall('src="(.*?).238.390.jpg"', html) # 返回一个图片下载链接的列表

pic_names = re.findall('alt="(.*?)"', html) # 返回图片名字一个列表

print(results)

# 根据获取到的图片链接,把图片保存到本地

save_to_txt(results, name, pic_names)

# 保存图片到本地

3.在获取到图片链接以及图片名字之后,进行下载,保存到本地指定的文件路径中,并进行命名。

def save_to_txt(results, name, pic_names):

j = 0

# 在当目录下创建文件夹

if not os.path.exists('./' + name):

os.makedirs('./' + name)

# 下载图片

for result in results:

try:

pic = requests.get(result, headers=headers)

print(pic)

print('正在保存第{}个'.format(j + 1))

time.sleep(random.random())

except:

print('当前图片无法下载')

j += 1

continue

# 把图片保存到文件夹

file_full_name = './' + name + '/' + str(j) + '-' + pic_names[j] + '.jpg'

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

f.write(pic.content)

j += 1

4.这是主函数

# 主函数

if __name__ == '__main__':

name = "sjbz"#手机壁纸分类

get_parse_page(name)

# 获取图片url连接

# 配置以下模块

import random

import requests

import re

import os

import time

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36 Edg/86.0.622.58',

"Cookie": "UM_distinctid=1758c184bea97-0d217f1a4272e5-7d677f67-144000-1758c184beb5c8; CNZZDATA1255139604=1098251314-1604371519-%7C1604403769; Hm_lvt_3b19253d112290a9184293cf68a02346=1604373205,1604402882,1604407056; _uupv=3; Hm_lpvt_3b19253d112290a9184293cf68a02346=1604407260"

}

def get_parse_page(name):

# name是你要搜索的关键词

# pn是你想下载的页数

url = r'https://www.3gbizhi.com/%s'%(name)

# 发送请求,获取相应

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

html = response.content.decode()

# print(html)

# 2.正则表达式解析网页

# "objURL":"http://n.sinaimg.cn/sports/transform/20170406/dHEk-fycxmks5842687.jpg"

results = re.findall('src="(.*?).238.390.jpg"', html) # 返回一个列表

pic_names = re.findall('alt="(.*?)"', html) # 返回一个列表

print(results)

# 根据获取到的图片链接,把图片保存到本地

save_to_txt(results, name, pic_names)

# 保存图片到本地

def save_to_txt(results, name, pic_names):

j = 0

# 在当目录下创建文件夹

if not os.path.exists('./' + name):

os.makedirs('./' + name)

# 下载图片

for result in results:

try:

pic = requests.get(result, headers=headers)

print(pic)

print('正在保存第{}个'.format(j + 1))

time.sleep(random.random())

except:

print('当前图片无法下载')

j += 1

continue

# 把图片保存到文件夹

file_full_name = './' + name + '/' + str(j) + '-' + pic_names[j] + '.jpg'

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

f.write(pic.content)

j += 1

# 主函数

if __name__ == '__main__':

name = "sjbz"

get_parse_page(name)

python制作手机壁纸_Python爬取手机壁纸图片相关推荐

  1. python自动换壁纸_Python爬取必应每日图片并实现Windows壁纸自动切换

    不知道大家是否对每日一成不变的壁纸感到厌倦呢?反正对于我个人来说,如果每天打开电脑映入眼帘的都是不同的画面,那么科研热情都会被充分激发,从而提高自己的劳动生产力. 原来使用的是Deepin系统,自己写 ...

  2. python 制作网站教程_Python爬取网站博客教程并制作成PDF

    要把教程变成PDF有三步: 1.先生成空html,爬取每一篇教程放进一个新生成的div,这样就生成了包含所有教程的html文件(BeautifulSoup) 2.将html转换成pdf(wkhtmlt ...

  3. Python【爬虫实战】爬取美女壁纸资源

    Python[爬虫实战]爬取美女壁纸资源 一:首先选取一个网站,这里我们选择了一个壁纸网站 二:进入网站,我们可以看到很多图片放在一页里 三:按下F12开发者工具,点击Elments查看网页的代码 四 ...

  4. python爬取图片教程-推荐|Python 爬虫系列教程一爬取批量百度图片

    Python 爬虫系列教程一爬取批量百度图片https://blog.csdn.net/qq_40774175/article/details/81273198# -*- coding: utf-8 ...

  5. [day4]python网络爬虫实战:爬取美女写真图片(Scrapy版)

    l> 我的新书<Android App开发入门与实战>已于2020年8月由人民邮电出版社出版,欢迎购买.点击进入详情 文章目录 1.开发环境 2.第三方库 3.Scrapy简介 4. ...

  6. [day2]python网络爬虫实战:爬取美女写真图片(增强版)

    l> 我的新书<Android App开发入门与实战>已于2020年8月由人民邮电出版社出版,欢迎购买.点击进入详情 文章目录 1.开发环境 2.第三方库 3.实现 1.分析url格 ...

  7. python背景怎么自定义铃声_python爬取手机铃声

    相信每个人都会给自己的手机调一个好听的音乐作为铃声,但是对于iphone用户来说换铃声一般都会去找第三方平台来进行更换,众多平台当中不得不说的就是爱思手机助手,今天我将带你通过python爬虫来批量进 ...

  8. python唯美壁纸_Python爬取5K分辨率超清唯美壁纸

    转载: 简介 壁纸的选择其实很大程度上能看出电脑主人的内心世界,有的人喜欢风景,有的人喜欢星空,有的人喜欢美女,有的人喜欢动物.然而,终究有一天你已经产生审美疲劳了,但你下定决定要换壁纸的时候,又发现 ...

  9. python最新官网图片_python爬取福利网站图片完整代码

    存起来 自己学习... import requests,bs4,re,os,threading class MeiNvTu: def __init__(self): self.url_main='ht ...

最新文章

  1. 通俗易懂讲解梯度下降法!
  2. Linux下Sed命令的用法(之替换)
  3. java B2B2C Springcloud电子商城系统-通过消息队列传输zipkin日志
  4. java进制原码_Java 一一 进制、原码 反码 补码、移位操作
  5. Oracle12081,【Oracle介质】Oracle 12C Linux x86-64 最新OPatch patch 6880880 12.2.0.1.7
  6. HTML5中本地储存概念是什么,什么优点 ,与cookie有什么区别?
  7. 定时任务的实现原理,看完就能手撸一个!
  8. ios9和xcode7的适配问题
  9. 微课|中学生可以这样学Python(8.1节):解析算法例题讲解
  10. 计算机二级可以用笔记本电脑学吗,计算机二级可以自学好过吗
  11. TZC 3012-Fibnacci Numbers(矩阵快速幂+降幂公式)
  12. java工程师面试题大全-100%公司笔试题你都能碰到几个
  13. 哈,新学期又开始喽。
  14. mac php 连接 mssql 2008,php5.3.x连接MSSQLserver2008
  15. SSH远程访问以及控制
  16. html 使用iframe引入视频但无法全屏播放,问题解决
  17. 【从零学习openCV】IOS7根据人脸检测
  18. Python基于人脸识别的考勤系统(附源码)
  19. 【C++入门篇】深入理解函数重载
  20. 【机器学习】P18 反向传播(导数、微积分、链式法则、前向传播、后向传播流程、神经网络)

热门文章

  1. 实现粗糙表面_你了解什么是表面粗糙度吗?
  2. 截取台风后的图片_Python数据分析案例 | 台风最喜欢在我国哪个省市登陆
  3. html js布尔值怎么定义,JavaScript基本类型值-Undefined、Null、Boolean
  4. mysql按字段拆分表_MYSQL命令怎么实现将表中某个字段中多个记录拆分,急求答案!...
  5. windows7中安装jdk1.8
  6. linux 多进程 同步,Linux内核同步,进程,线程同步
  7. Spring-bean的作用域(六)
  8. 第2节 azkaban调度:17、azkaban的两个服务模式的安装
  9. 关于 django 的时区设置与MySQL 时间相差8小时
  10. Redis-主从配置