python爬虫实践之爬取美女图片
目录
概述
准备
所需模块
涉及知识点
运行效果
完成爬虫
1. 分析网页
2. 爬虫代码
概述
爬取妹子图网的美女图片。
准备
所需模块
- time
- requests
- lxml
涉及知识点
- python基础
- requests模块基础
- xpath表达式基础
运行效果
控制台打印:
电脑本地文件:
完成爬虫
1. 分析网页
打开妹子图网,按F12分析网页
第一页的URL是:https://www.meizitu.com/a/list_1_1.html
第二页的URL是:https://www.meizitu.com/a/list_1_2.html
第三页的URL是:https://www.meizitu.com/a/list_1_3.html
故分析三者可以得出:
# 第1页:https://www.meizitu.com/a/list_1_1.html
# 第2页:https://www.meizitu.com/a/list_1_2.html
# 第3页:https://www.meizitu.com/a/list_1_3.html
# 故可以推断出URL公式:url="https://www.meizitu.com/a/list_1_"+page_index+".html"
# 其中page_index指的是页码
获取每一页的URL后,接着是获取该页图片的超链接,然后通过该超链接进入具体的页面下载图片。
这些超链接可以通过xpath表达式进行提取。
接下来进入具体的页面:
这标题和超链接也可以xpath表达式进行提取。
2. 爬虫代码
import timeimport requests
from lxml import etree# 爬虫实战:爬取妹子图网的图片# 第1页:https://www.meizitu.com/a/list_1_1.html
# 第2页:https://www.meizitu.com/a/list_1_2.html
# 第3页:https://www.meizitu.com/a/list_1_3.html
# 故可以推断出URL公式:url="https://www.meizitu.com/a/list_1_"+page_index+".html"
# 其中page_index指的是页码page_index = 1 # 这里只下载了第一页相关的图片,如需下载更多可以使用for循环
# 请求头
header = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36"
}
# 组装请求的URL
url = "https://www.meizitu.com/a/list_1_" + str(page_index) + ".html"
# 发送请求,获取响应的HTML源代码
response = requests.get(url, headers=header).content.decode("gb2312")
# 将源码字符串转换成HTML对象
html = etree.HTML(response)
# 通过xpath表达式提取页面中通往图片详情页面的超链接,返回一个列表
image_link_all_list = html.xpath("//li[@class='wp-item']/div[@class='con']/div[@class='pic']/a/@href")
# 循环列表中的图片详情页面的超链接
for image_link in image_link_all_list:# 获取图片详情页面的HTML源码response_image_detail = requests.get(image_link).content# 将源码字符串转换成HTML对象html_image_detail = etree.HTML(response_image_detail)# 获取每张图片的下载链接image_link_detail_list = html_image_detail.xpath("//div[@id='picture']//img/@src")# 获取每张图片的标题image_name_detail_list = html_image_detail.xpath("//div[@id='picture']//img/@alt")# 条件判断if len(image_link_detail_list) == len(image_name_detail_list):# 循环图片下载链接for i in range(0, len(image_name_detail_list)):# 请求每张图片的数据data = requests.get(image_link_detail_list[i]).content# 下载提示print("正在下载图片" + image_name_detail_list[i] + ".jpg中......")# 将图片下载保存到电脑本地with open(r"C:/Users/Administrator/Pictures/images/" + image_name_detail_list[i] + ".jpg","wb") as file_object:# 写入数据file_object.write(data)# 缓一缓time.sleep(0.5)
python爬虫实践之爬取美女图片相关推荐
- 爬虫实践:爬取搜狗图片
前言 本文中,将通过爬取搜狗图片为例,分析Ajax请求来抓取网页数据 (通过传入关键字,已达到爬取不同类型图片的目的) AJAX引擎其实是一个JavaScript对象,全写是 window.XMLHt ...
- python爬虫实践之爬取hao123音乐音乐导航
目录 概述 准备 所需模块 涉及知识点 运行效果 完成爬虫 1. 分析网页 2. 爬虫代码 概述 爬取hao123上的所有音乐导航链接 准备 所需模块 re模块 requests模块 涉及知识点 py ...
- Python爬虫实战 | (9) 爬取搜狗图片
本篇博客我们将爬取百度图片,输入搜索词,爬取与搜索词相关的图片. 首先打开搜狗图片https://pic.sogou.com/,比如搜索"猫",此时的URL如下: https:// ...
- python爬微博关键字_一个简单的python爬虫实践,爬取包含关键词的新浪微博
此项目主要功能是通过微博"搜索"页面,每天自动爬取所有包含自定list中词汇的微博原数据.低速可控,简单粗暴,适合用来有针对性的搜集数据量不是很大的包含关键词的微博,每日可爬3-6 ...
- python 爬虫实践 (爬取链家成交房源信息和价格)
简单介绍 pi: 简单介绍下,我们需要用到的技术,python 版本是用的pyhon3,系统环境是linux,开发工具是vscode:工具包:request 爬取页面数据,然后redis 实现数据缓存 ...
- python爬虫实践之爬取豆瓣高评分电影
目录 概述 准备 所需模块 涉及知识点 运行效果 完成爬虫 1. 分析网页 2. 爬虫代码 3. 整理总结 概述 爬取豆瓣的高评分的电影. 准备 所需模块 re模块 requests模块 涉及知识点 ...
- 【Python爬虫_8】爬取必应图片
"' 需求:爬取必应的图片,并下载,以老师为例: '" 1.首先通过XHR找到图片的url地址,打开该地址可看到 确认链接找到正确,然后多找几个来分析,可以得到通用的url: ur ...
- Python爬虫:批量爬取变形金刚图片,下载保存到本地。
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 本文文章来自:CSDN 作者:Guapifang 其实和爬取普通数据本质一样,不过 ...
- python爬虫六:爬取电影图片及简介
# -*- coding: utf-8 -*-#2345电影排行榜 import requests from bs4 import BeautifulSoup#获取网站的通用类 def get_htm ...
最新文章
- poj1144(割点)
- Linux下编译一个静态链接的程序的注意点
- 百度:病种类贴吧全面停止商业合作
- oracle表空间,角色,权限,表,索引,序列号,视图,同义词,约束条件,存储函数和过程,常用数据字典,基本数据字典信息,查看VGA信息,维护表空间,创建表空间等信息
- flask同源策略解决办法及flask-cors只允许特定域名跨域
- html中鼠标左键自定义多级菜单,CSS多级菜单的实现代码
- 怎么让背景铺满整个页面_必能用到,一页PPT中想放超多图片怎么办?
- java数据结构- - - -栈
- Fuel 9.0安装Openstack由于NTP检查没通过导致失败--解决办法
- 百度发布全新 NLG 训练模型 ERNIE-GEN,获 5 项 SOTA!
- thinkphp5 图片压缩旋转_有非常多的图片,该怎么制作PPT?
- 计算机在医疗领域的发展未来,5G医疗在人工智能领域未来的发展
- 量化噪声的大小与什么成正比_量化信噪比的公式?量化级数与每个样值的比特数之间的关系是什么?...
- 让我们旋转跳跃不停歇~~~当3D打印遇上八音盒!(一)
- 思维导图 XMind 闯关之路(第02关)插入各类符号
- 一名IT民工开通博客
- 解决阿里云端口不通 配置安全组无效
- 基于SAR影像的鱼塘提取
- 策划的权限、视野与产品的最终高度
- gis与计算机科学之间的联系,GIS与地图学及电子地图
热门文章
- 黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第三章 网络工程-原始套接字与嗅探(1)主机发现工具与包嗅探
- linux cent os6.5,linux(Cent OS6.5)下安装SVN
- Python中遍历字典以及字典中的键和值
- 学习机器人SLAM导航核心技术(二)之ROS
- TS中的class类
- 制作短视频要注意什么?三个内容创作要点别忽视,赶紧收藏起来
- Uni-app学习从0到1开发一个app——(3)简单小工程内容介绍
- c++ fstream流seekg()重定位问题
- 从零开始手把手教你使用javascript+canvas开发一个塔防游戏02敌人自动寻路
- 基于盛大云IaaS部署CloudFoundry平台