十、爬虫下载汽车图片--scrapy爬虫初学者学习过程-----精通Python爬虫框架scrapy
十、爬虫下载汽车图片
作者:Irain
QQ:2573396010
微信:18802080892
GitHub项目链接:爬虫下载汽车图片
视频资源链接:爬虫下载汽车图片
爬取目标网页链接:二手车之家汽车.
1 创建scrapy项目和爬虫
参考链接:在DOC窗口创建scrapy项目和爬虫.
2 settings.py设置
参考链接:scrapy爬虫项目设置settings.py参数.
3 核心内容:(代码在后面)
3.1 car_spider.py

3.2 pipelines.py

3.3 图片存储路径

4 成果展示
4.1 pycharm项目下的图片

4.2 文件夹下的图片

5 代码附件
5.1 car_spider.py
# -*- coding: utf-8 -*-
import scrapy
from piture_car.items import PitureCarItem
class CarSpiderSpider(scrapy.Spider):name = 'car_spider'allowed_domains = ['che168.com']start_urls = ['https://www.che168.com/dealer/371543/35174484.html?pvareaid=100519&userpid=440000&usercid=440100']def parse(self, response):url = response.xpath("//div[@class='car-pic-list js-box-text']/a/img/@data-original").getall() # 获取汽车图片urlurl = list(map(lambda url:response.urljoin(url),url)) # 每个url添加"https:"yield PitureCarItem(url=url) # 传递
5.2 pipelines.py
import os
import urllib.request
class PitureCarPipeline(object):def __init__(self):self.path = os.path.join(os.path.dirname(os.path.dirname(__file__)),'image') # 图片存储路径if not os.path.exists(self.path): # 检查是否存在Image文件夹os.mkdir(self.path)def process_item(self, item, spider):urls = item['url'] # 提取图片urlfor url in urls:picture_name = url.split('_')[-1] # 从url中获取图片名称urllib.request.urlretrieve(url=url,filename=os.path.join(self.path,picture_name)) # 下载图片 url和绝对路径print("图片存储路径")print(os.path.join(self.path,picture_name))return item
5.3 items.py
import scrapy
class PitureCarItem(scrapy.Item):url = scrapy.Field()
发布:2020年4月19日
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
