您好,登錄后才能下訂單哦!
這篇文章主要介紹了python中如何爬取汽車之家網站上的圖片,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
python的數據類型:1. 數字類型,包括int(整型)、long(長整型)和float(浮點型)。2.字符串,分別是str類型和unicode類型。3.布爾型,Python布爾類型也是用于邏輯運算,有兩個值:True(真)和False(假)。4.列表,列表是Python中使用最頻繁的數據類型,集合中可以放任何數據類型。5. 元組,元組用”()”標識,內部元素用逗號隔開。6. 字典,字典是一種鍵值對的集合。7. 集合,集合是一個無序的、不重復的數據組合。
隨著生活水平的提高和快節奏生活的發展。汽車開始慢慢成為人們的必需品,瀏覽各種汽車網站便成為購買合適、喜歡車輛的前提。例如汽車之家網站中就有最新的報價和圖片以及汽車的相關內容,是提供信息最快最全的中國汽車網站。本文介紹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 # 翻頁邏輯 for page in range(2, 3): next_url = self.base_url.format(page) yield scrapy.Request(next_url)
感謝你能夠認真閱讀完這篇文章,希望小編分享的“python中如何爬取汽車之家網站上的圖片”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。