我选择的起始网址:http://www.hao123.com/auto/brand

当你随便选择一个车牌的选框( 不要 同时选择多个选框)你就会发现每个车牌对应一个网址 每个网址的区别就是数字不同

比如选中奥迪时对应的网址:https://car.58che.com/brand/1.html 也就是说按数字来就可以遍历所有的汽车了

我要爬取的是汽车网站的所有汽车的外观图片,所以下一步就是找汽车外观图片,先点击一辆汽车进入下一个页面

发现汽车外观图片在左下角的那个地方 点击进入里面的详细页面

这样汽车外观图片就找到了,下一步就是看看这些图片数据是怎么加载的,按f12查看一下本页面的一些数据信息

如果没有那个html页面再按f5刷新一下,发现这些图片都是通过js加载的,所有图片都是以json的数据格式存储在imgList这个变量中,然后图片的地址在里面的imgSrc这个属性中。

到这里基本就弄清楚了,理一下思路,人工的话就是点击一个选框选中一个牌子,再在下面的不同型号中选中一个进入下一个页面,然后再在这个页面找到外观图片的入口,最后就进入外观图片的页面了,这些外观图片都在一个滚动列表里,然后把他们一个一个下载下来,然后用代码实现这个过程。

除了下载所需要的包外,还要下载phantomjs(下载后记住下载地址,代码里要用到,我存放的地址是D:/phantomjs-2.1.1-windows/bin/phantomjs) 环境是python3 编译器pycharm

import requests
from bs4 import BeautifulSoup
from selenium import webdriver
import json
import os
import urllib.request# 下载图片函数
def download_img(url,name1,name2):# 获取url最后面的字符串作为图片的名称,先以/分割,再取最后一部分splist_list = url.split('/')filename = splist_list.pop()# 存储图片的地址path = 'D:/cars'+'/'+name1+'/'+name2# 如果路径文件夹不存在就自行创建if not os.path.exists(path):os.makedirs(path)# 拼接全路径file_path = os.path.join(path, filename)# 下载图片urllib.request.urlretrieve(url,filename=file_path)def parse_page(url):# 获取这个页面的车辆品牌,并把它的品牌名字存放在name1response = requests.get(url)soup = BeautifulSoup(response.content,'lxml')choose_name = soup.find('div',class_='r select_sub1 select_re p')name = choose_name.find_all('a')[0]name1 = name.get_text()uls = soup.find('ul',class_='s_list clearfix')li = uls.find_all('li')# 遍历这个品牌下所有不同型号的车辆,并获取他们所链接的下一个网址for x in li :name = x.find_all('a')[1]name2 = name.get_text()print(name2)a = x.find_all('a')[0]# url2就是这个型号下链接的网址url2 = 'https:'+a['href']response2 = requests.get(url2)soup2 = BeautifulSoup(response2.content,'lxml')div = soup2.find('div',class_='smallimg')a2 = div.find_all('a')[0]# url3就是外观图片的网址url3 = 'https:'+ a2['href']response3=requests.get(url3)soup3 =BeautifulSoup(response3.content,'lxml')# 图片存放在js代码里的一个变量里,这里就是获得这个变量里面的值script = soup3.find_all('script')[9]driver = webdriver.PhantomJS(executable_path='D:/phantomjs-2.1.1-windows/bin/phantomjs')driver.get(url3)r = driver.execute_script("return imgList")jd = json.loads(r)# 获取到的值是json数据格式,解析json数据并获取图片的地址for each in jd :imgSrc = 'https:'+each['imgSrc']productName = each['productName']# 下载图片download_img(imgSrc,name1,name2)print('-'*100)
def main():# 初始网址,网址规律b1,b2,b3......url = 'https://car.58che.com/series/b1_s5.html'parse_page(url)if __name__ == '__main__':main()

运行结果

python爬虫爬取汽车网站外型图片相关推荐

  1. python爬虫爬汽车图片_python爬虫爬取汽车网站外型图片

    我选择的起始网址:http://www.hao123.com/auto/brand 当你随便选择一个车牌的选框( 不要 同时选择多个选框)你就会发现每个车牌对应一个网址 每个网址的区别就是数字不同 比 ...

  2. python爬虫爬取某网站全站图片案列(源码全给可白漂,仅供学习使用,切勿用作非法用途)

    爬取后保存的图片效果图 步骤入下(三步): 先去要爬取的目标网站(https://pixabay.com/)去注册一个账号. 2.注册后登录,浏览器右键鼠标,打开检查,找到登录后的cookies值. ...

  3. 爬虫爬取二次元网站美女图片

    爬虫爬取二次元网站美女图片 前言 xpath解析 需求分析 代码编写 总代码 前言 本次需要爬取二次元网站cos板块下的图片 需要用到request模块与lxml模块,所以请提前安装好这两个模块,打开 ...

  4. python爬虫爬取彼岸图网图片

    python爬虫爬取彼岸图网图片 话不多说,直接上代码! import requests from PIL import Image from io import BytesIO import re ...

  5. python爬虫图片实例-Python爬虫爬取煎蛋网图片代码实例

    这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...

  6. Python爬虫爬取煎蛋网图片代码实例

    这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...

  7. python爬虫爬取百度贴吧图片,requests方法

    每天一点点,记录学习 近期爬虫项目,看完请点赞哦---: 1:python 爬取菜鸟教程python100题,百度贴吧图片反爬虫下载,批量下载 2:python爬虫爬取百度贴吧图片,requests方 ...

  8. python爬虫爬取某网站图片

    学习分享 | 今天刚学完爬虫,就随便写了一个爬虫代码爬取某网站的图片 网站就是这个图片网站,我选的是1080p格式,4k的要会员,我反正是还不会 导入的包如下 import requests from ...

  9. python爬虫爬取美丽小姐姐图片美女壁纸

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...

最新文章

  1. NVIDIA TX2 使用 USB 摄像头
  2. iPhone因安全漏洞上热搜,苹果:暂时无法修复,法国总统也中招
  3. 浅淡Webservice、WSDL三种服务访问的方式(附案例)
  4. 风寒感冒与风热感冒的区分与治疗
  5. python爬虫-urllib模块
  6. 【ArcGIS Pro微课1000例】0002:ArcGIS Pro 2.5二三维联动显示
  7. 【BZOJ1901】Dynamic Rankings,树状数组套主席树
  8. 【英语学习】【WOTD】mirandize 释义/词源/示例
  9. c语言编程新思路知道答案,C语言编程新思路_知道答案公众号免费
  10. 网站时间显示——基于Date
  11. 接收终端Request.InputStream阅读
  12. 走在梦的路上 绝不回头
  13. vdbench的作用_vdbench
  14. 量化评价和质化评价举例_数据质量量化评价研究与实现
  15. python一键安装神器_一键安装python
  16. vs2019生成的exe文件在别人电脑运行不了
  17. 【ROS2】【机器人导航navigation2】参数调整分析
  18. C# 事件函数参数(object sender, EventArgs e)
  19. C# winform 学习(一)
  20. 关于Jason封装数据使其在前端展示的简单操作

热门文章

  1. SSO单点登录详解-------二、单点登录流程解析
  2. 黑马程序员,黑马论坛 ------JAVA中的反射机制
  3. 手机照片删除了怎么恢复?怎么找回删除的手机照片
  4. 关于Centos中443端口被占用的解决方法
  5. Vue面试题重难点总结
  6. 计算机网络中属于通信子网,通信子网,计算机网络,互联网三者有什么关系其区..._通信工程师_帮考网...
  7. 多项式mod的运算方法
  8. mod 运算的应用(笔记)
  9. 使用idea创建一个jsp项目
  10. 【机器学习】自然语言处理的常用算法