欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
python爬蟲(chóng)系列之 xpath實(shí)戰:批量下載壁紙

一、前言

在開(kāi)始寫(xiě)爬蟲(chóng)之前,我們先了解一下爬蟲(chóng)

首先,我們需要知道爬蟲(chóng)是什么,這里直接引用百度百科的定義

網(wǎng)絡(luò )爬蟲(chóng)(又被稱(chēng)為網(wǎng)頁(yè)蜘蛛,網(wǎng)絡(luò )機器人,在FOAF社區中間,更經(jīng)常的稱(chēng)為網(wǎng)頁(yè)追逐者),是一種按照一定的規則,自動(dòng)地抓取萬(wàn)維網(wǎng)信息的程序或者腳本。

這些還不夠,我們還需要知道爬蟲(chóng)爬取數據的基本步驟。

爬蟲(chóng)爬取數據一般分為三個(gè)步驟

  1. 獲取網(wǎng)頁(yè)

    巧婦難為無(wú)米之炊。我們需要的是數據全在網(wǎng)頁(yè)里,拿不到網(wǎng)頁(yè),代碼敲得再好也沒(méi)用。所以一個(gè)爬蟲(chóng)的第一步一定是獲取網(wǎng)頁(yè)。

  2. 提取信息

    拿到網(wǎng)頁(yè)之后,我們要做的就是分析網(wǎng)頁(yè)結構,定位要爬取的信息,然后提取出來(lái)

  3. 保存信息

    獲得信息之后,一般需要把信息保存起來(lái)以便下次使用

完成上面三步一個(gè)簡(jiǎn)單的爬蟲(chóng)就寫(xiě)好了( ̄▽?zhuān)?",下面開(kāi)始寫(xiě)壁紙爬蟲(chóng)

二、開(kāi)始寫(xiě)爬蟲(chóng)

我們要爬取的目標網(wǎng)站是:http://www.netbian.com/,這個(gè)網(wǎng)站長(cháng)這樣:

picture-1

紅色方框里的就是我們要爬取的圖片。

在動(dòng)手寫(xiě)代碼之前,我們要先理一理思路,這樣可以讓思路更清晰,寫(xiě)代碼時(shí)就會(huì )更流暢,代碼也更簡(jiǎn)潔。

對于一個(gè)爬蟲(chóng)腳本,我們一般需要考慮以下幾點(diǎn):

  1. 爬什么:我們要從網(wǎng)頁(yè)上獲取的數據是什么

  2. 怎么爬:用什么庫?是否需要使用框架?有沒(méi)有 ajax接口?

  3. 爬取步驟:哪個(gè)先爬,哪個(gè)后爬

以我們的項目為例:

  1. 爬什么:

    我們的目標是下載網(wǎng)頁(yè)中的圖片,要下載圖片就要先獲得圖片的地址,而圖片的地址就在網(wǎng)頁(yè)中。

    所以我們需要爬取網(wǎng)頁(yè)中圖片的地址。

  2. 怎么爬:

    圖片在幾十到幾百張之間,下載量不大,不需要使用框架,直接使用 requests庫。

    解析網(wǎng)頁(yè)使用 xpath。

  3. 爬取步驟:

    第一步:分析網(wǎng)頁(yè),寫(xiě)出圖片的 xpath路徑

    第二步:用 requests庫獲取網(wǎng)頁(yè)

    第三步:使用 lxml庫解析網(wǎng)頁(yè)

    第四步:通過(guò) xpath獲得圖片鏈接

    第五步:下載圖片

    第六步:命名并保存圖片

分析完之后,就開(kāi)始爬取了!

首先第一步,分析網(wǎng)頁(yè),在瀏覽器里打開(kāi)網(wǎng)頁(yè),按下 F12進(jìn)入開(kāi)發(fā)者模式,選擇 Elements選項卡,如圖:

picture-2

使用元素選擇器:

picture-3

找到標簽后,我們就可以寫(xiě)出標簽的 xpath路徑,這個(gè)比較簡(jiǎn)單,就不詳細寫(xiě)了。有疑問(wèn)的可以評論留言。

圖片標簽的 xpath路徑:

#圖片地址path = '//a[@title]/img/@src'#為了方便給圖片命名 順便把圖片名字也爬下來(lái)name = '//a[@title]/img/@alt'

接下來(lái)就是應用我們所學(xué)的時(shí)候了,話(huà)不多說(shuō),直接上代碼:

#-*- coding: utf-8 -*import requestsfrom lxml import etree#網(wǎng)站地址url = 'http://www.netbian.com/'#獲取網(wǎng)頁(yè)r = requests.get(url)r.encoding = r.apparent_encoding#解析網(wǎng)頁(yè)dom = etree.HTML(r.text)#獲取圖片 img標簽#先獲取圖片所在的 img標簽在分別獲取圖片鏈接和名字img_path = '//a[@title]/img'imgs = dom.xpath(img_path)#獲取圖片的鏈接和名字 并下載 命名 保存for img in imgs:    #xpath 的相對路徑 “.” 代表上一級標簽    #不要忘記 xpath返回的總是列表!    src = img.xpath('./@src')[0]    name = img.xpath('./@alt')[0]    #下載圖片    image = requests.get(src)    #命名并保存圖片    with open(name+'.jpg', 'wb') as f:        f.write(image.content)

運行結果:

picture-4

這樣我們就完成了一個(gè)簡(jiǎn)易版的壁紙爬蟲(chóng),為什么說(shuō)是簡(jiǎn)易版呢,理由如下:

  1. 圖片太小了,根本不能用作壁紙(其實(shí)是我偷懶了( ̄▽?zhuān)?"),要獲取高清壁紙的話(huà),還需要點(diǎn)擊圖片進(jìn)入下一個(gè)頁(yè)面,簡(jiǎn)單起見(jiàn)我直接爬了首頁(yè)的縮略圖。

  2. 不能自動(dòng)翻頁(yè),運行一次只能下載一頁(yè)的圖片,翻頁(yè)可以獲取網(wǎng)頁(yè)中下一頁(yè)的鏈接,或者尋找網(wǎng)址的變化規律

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
在Scrapy中如何利用CSS選擇器從網(wǎng)頁(yè)中采集目標數據——詳細教程(上篇)
4、web爬蟲(chóng),scrapy模塊標簽選擇器下載圖片,以及正則匹配標簽
代碼入門(mén)教程(5)
【視頻】手把手教你抓美女~
Python爬蟲(chóng)實(shí)戰之獲取網(wǎng)頁(yè)圖片案例(附代碼)
[HTML] 圖片標簽、絕對路徑 和 相對路徑
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久