python爬蟲實戰之爬取汽車之家網站上的圖片
隨著生活水平的提高和快節奏生活的發展,汽車開始慢慢成為人們的必需品,瀏覽各種汽車網站便成為購買合適、喜歡車輛的前提,例如汽車之家網站中就有最新的報價和圖片以及汽車的相關內容,是提供資訊最快最全的中國汽車網站,本文介紹python爬蟲爬取汽車之家網站上的圖片的思路和具體演示代碼,

一、爬取汽車之家網站上的圖片思路分析
1、分析頁面,確認圖片的url是否在網頁原始碼,
2、確認是靜態資料后,先找到總的ul標簽,在找它里面的li標簽,最后在img標簽里面的src屬性,即可獲得想要的圖片url地址,
3、通過切割圖片url的方式獲取圖片名字,
4、完成圖片命名后,使用os模塊確定圖片存放的路徑,
二、設定爬蟲代理IP

在做爬蟲的程序中,如果你爬取的頻率過快,不符合人的操作模式,有些網站的反爬蟲機制通過監測到你的IP例外,訪問頻率過高,就會對你進行封IP處理,目前已有比較多的第三方平臺專門進行代理IP的服務,
三、爬取汽車之家網站上的圖片具體代碼
# piplines管道代碼
from urllib import request
import os
class VehicleHomePipeline:
def process_item(self, item, spider):
pic_url = item['pic_url']
# 得到圖片名字
pic_name = pic_url.split('__')[-1] # 得到xxx.jpg
# os.path.dirname(__file__) 結果 D:\PycharmProjects\spider\day21\vehicle_home\vehicle_home\
# 創建圖片存放路徑 xxx\vehicle_home\result_pic
pic_path = os.path.join(os.path.dirname(__file__), 'result_pic')
# 下載圖片 xxx\vehicle_home\result_pic\xxx.jpg
request.urlretrieve(pic_url, pic_path + '/' + pic_name)
return item
# 爬蟲代碼
import scrapy
from day21.vehicle_home.vehicle_home.items import VehicleHomeItem
class VehPicSpider(scrapy.Spider):
name = 'veh_pic'
allowed_domains = ['car.autohome.com.cn']
base_url = 'https://car.autohome.com.cn/photolist/series/18/p{}/'
start_urls = [base_url.format(1)]
def parse(self, response):
# 獲取圖片標簽串列
pic_lists = response.xpath('//ul[@id="imgList"]/li')
for pic in pic_lists:
pic_url = pic.xpath('./a/img/@src').extract_first()
# 上述獲取的url需要進一步補全
pic_url = response.urljoin(pic_url)
item = VehicleHomeItem()
item['pic_url'] = pic_url
print(item)
yield item
展示部分代碼
需要原始碼三聯安排你
*宣告:本文于網路整理,著作權歸原作者所有,如來源資訊有誤或侵犯權益,請聯系我們洗掉或授權

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/290813.html
標籤:其他
