Python爬虫学习之爬取淘宝搜索图片

准备工作

因为淘宝的反爬机制导致Scrapy不能使用,所以我这里是使用selenium来获取网页信息,并且通过lxml框架来提取信息。

selenium、lxml安装和版本适配

selenium需要与当前的chrome版本相匹配,否则会报错。如下图:

适配的方法可以参考:https://blog.csdn.net/qq_26200629/article/details/86141131,这里介绍的很详细了,我就不多说了。我使用的是PyCharm开发的,在插件管理中直接添加selenium和lxml就行

初始化构造函数

site_url是当前访问页。
base_site_url用来拼接跳转页。
chrome_driver是你下载的chromedriver所在路径。
sleep_time为休息时长。
save_img_path 图片保存路径。

    def __init__(self):"""初始化构造函数"""self.base_site_url = 'https://s.taobao.com/search?q=男士衬衫'self.site_url = 'https://s.taobao.com/search?q=男士衬衫'chrome_driver = 'C:/Users/CSSRC/AppData/Local/Temp/7zOC8AB4263/chromedriver.exe'self.driver = webdriver.Chrome(executable_path=chrome_driver)self.sleep_time = 5self.save_img_path = 'D:/git-proj/CrawlerFromTaoBao/image'

获取淘宝页面代码

    def get_page(self):"""获取淘宝页面代码"""self.driver.get(self.site_url)time.sleep(self.sleep_time)print(self.driver.title)self.get_item()

爬取当前页面的每个商品,提取商品的图片

    def get_item(self):"""爬取当前页面的每个商品,提取商品的图片"""html = self.driver.page_source.encode('utf-8')selector = etree.HTML(html)itemList = selector.xpath("//*[@class='J_ItemPic img']")# 循环遍历该页所有商品for divPic in itemList:image_id = divPic.xpath("./@id")[0]image_url = divPic.xpath("./@data-src")[0]self.save_img(self.save_img_path, image_url, image_id)# 获取分页信息pagination = selector.xpath("//*[@class='item next']/a/@data-value")print(pagination)print('正在准备切换分页')if len(pagination) == 0:print('没有下一页了')else:print('加载下一页内容')self.site_url = self.base_site_url + "&s=" + pagination[0]print(self.site_url)self.get_page()

存储图片方法

    def save_img(savePath, imageURL, fileName):"""存储图片方法Arguments:imageURL <string> -- 图片的urlfileName <string> -- 用于存储的文件名/图片的ID"""print('开始保存图片' + fileName)with open(savePath + '/' + fileName + '.png', 'wb') as f:f.write(requests.get("http:" + imageURL).content)

Python爬虫学习之爬取淘宝搜索图片相关推荐

  1. python爬虫——用selenium爬取淘宝商品信息

    python爬虫--用selenium爬取淘宝商品信息 1.附上效果图 2.淘宝网址https://www.taobao.com/ 3.先写好头部 browser = webdriver.Chrome ...

  2. Python爬虫实战(5)-爬取淘宝网服装图片(Selenium+Firefox)

    前言 今天我们巩固一下前面学过的知识,通过Selenium+Firefox实现模拟浏览器并自动翻页,爬取图片并写入本地文件中. 以搜索"女装"为例,自动爬取"女装&quo ...

  3. 【python爬虫】selenium爬取淘宝商品图片

    一.说明 淘宝商品的爬取,主要用到selenium和css选择器,本案例难度较低可以用作selenium的入门. 注意:扫码登录是手动操作 二.代码演示 from selenium import we ...

  4. python使用requests库爬取淘宝指定商品信息

    python使用requests库爬取淘宝指定商品信息 在搜索栏中输入商品 通过F12开发者工具抓包我们知道了商品信息的API,同时发现了商品数据都以json字符串的形式存储在返回的html内 解析u ...

  5. Python爬虫学习笔记 -- 爬取糗事百科

    Python爬虫学习笔记 -- 爬取糗事百科 代码存放地址: https://github.com/xyls2011/python/tree/master/qiushibaike 爬取网址:https ...

  6. python爬虫淘宝手机_【Python3 爬虫】14_爬取淘宝上的手机图片

    现在我们想要使用爬虫爬取淘宝上的手机图片,那么该如何爬取呢?该做些什么准备工作呢? 首先,我们需要分析网页,先看看网页有哪些规律 我们可以看到左侧是主题市场,将鼠标移动到[女装/男装/内衣]这一栏目, ...

  7. 江湖小白之一起学Python (五)爬取淘宝商品信息

    趁热需打铁,随着这几天的鸡血澎湃,我们来实现一下爬取淘宝商品信息,我记得几年前曾用python写了下抓取淘宝天猫,京东,拍拍的爬虫,专门采集商品信息,图片,评论及评论图片,我还用pyqt开发了个客户端 ...

  8. Python爬虫实战:抓取淘宝MM照片

    本篇目标 1.抓取淘宝MM的姓名,头像,年龄 2.抓取每一个MM的资料简介以及写真图片 3.把每一个MM的写真图片按照文件夹保存到本地 4.熟悉文件保存的过程 1.URL的格式 在这里我们用到的URL ...

  9. 为了部落 来自艾泽拉斯勇士的python爬虫学习心得 爬取大众点评上的各种美食数据并进行数据分析

    为了希尔瓦娜斯 第一个爬虫程序 csgo枪械数据 先上代码 基本思想 问题1 问题2 爬取大众点评 URL分析 第一个难题 生成csv文件以及pandas库 matplotlib.pyplot库 K- ...

最新文章

  1. PHP一些十分严重的缺陷
  2. DFS+剪枝 hdu 5113 Black And White
  3. python 车牌识别简单_ZKTeco 智能车牌识别 停车如此简单
  4. 磁盘阵列上的文件访问不了--原因是lvm不能activate,解决办法
  5. AtomicInteger源码分析——基于CAS的乐观锁实现
  6. [转]python yield
  7. java获取map数量_java – 如何从HashMap或LinkedHashMap获取有限数量的值?
  8. python窗体设计插件_Python 界面生成器 wxFormBuilder 的入门使用(wxPython的界面设计工具的初学笔记)...
  9. 谁将成为下一个风口?
  10. java怎么使两个界面联系_怎么样用java编写界面实现两个数的加法运算
  11. 创建数据账号只有个别表的权限_创建MySQL用户 赋予某指定库表的权限
  12. React :caniuse-lite is outdated. please run next command
  13. ebookpk-java手机英中电子词典_关于理解和支持的句子
  14. 软件测试和调试的区别
  15. 2021年终总结:鲜花怒马少年时,一日看尽长安花
  16. F - Fairy, the treacherous mailman
  17. 【GTASA】路人PED替换语音教程
  18. 计算机如何制作表格基础,计算机基础教程(Word表格制作)
  19. Arch Linux 硬盘引导-联网安装
  20. Android 拍身份证(自定义相机)

热门文章

  1. python爬今日头条组图_(python爬虫之)ajax解析爬取今日头条组图并下载
  2. ASR长语音识别,基于vue2
  3. 使用MDT2013部署Win8系统之八-通过MDT捕获镜像
  4. 【cocos creater】8.仿《弓箭传说》- 发射子弹
  5. FreeModbus应用系列之一
  6. 阿里云 云效Codeup提示git did not exit cleanly (exit code 128)
  7. 基于单片机的红外遥控LED电子钟
  8. Spring 表达式语言(SpEL)
  9. 大数据时代证券核心交易系统架构演化
  10. 赶紧收藏 : 从15000个Python开源项目中精选的Top30