前言
各位CSDN的朋友好啊!前倆天我在CSDN上發布了一篇python安裝教程的博客:
最新版Python詳細安裝教程與特點介紹(新手Python基礎入門必備)
接下來咱們就趁熱打鐵 ,手把手教大家爬蟲實戰:一鍵保存自己想要的圖片,從此晚上不孤單😎
一、爬蟲介紹
網路爬蟲(又被稱為網頁蜘蛛,網路機器人)就是模擬瀏覽器發送網路請求,接收請求回應,一種按照一定的規則,自動地抓取互聯網資訊的程式,簡單來講,爬蟲就是一個探測機器,它的基本操作就是模擬人的行為去各個網站溜達,點點按鈕,查查資料,或者把看到的資訊背回來,就像一只蟲子在一幢樓里不知疲倦地爬來爬去,原則上,只要是瀏覽器(客戶端)能做的事情,爬蟲都能夠做,

二、爬蟲工具
工欲善其事,必先利其器
首先我們需要下載python,我下載的是官方最新的版本 3.9.6,其次我們需要一個運行Python的環境,我用的是pychram
沒有的朋友們可以去看一下我上一篇博客,詳細的介紹怎么樣安裝python以及pycharm
最新版Python詳細安裝教程與特點介紹(新手Python基礎入門必備)

三、網站分析
這是林哥挑好的網站,當然你們也可以自己找網站
(http://www.netbian.com/meinv/),進入網站,美女圖片映入眼簾

隨便點開一個美女圖片,查看它的url,http://www.netbian.com/desk/23749.htm
先記住這個網址,待會后面會用到

回到瀏覽器,打開F12,通過目標元素檢查工具,點擊剛剛我們點過的美女圖片,通過它的元素我們可以知道a標簽里的屬性值href的鏈接就是上面我們訪問美女圖片的鏈接地址

我們在大圖的頁面,同樣用f12點擊一下,找到圖片的鏈接地址

發現倆次鏈接相同,訪問圖片鏈接發現是我們要的美女圖片,至此,對于網站的分析完畢,
四、代碼實作
現在鏈接到手,話不多說,直接開干
import requests
from lxml import etree
import time
'''
1.訪問網站首頁
2.定位到每個美女圖片的下載鏈接
3.定位到每個美女圖片對應的大圖鏈接
4.下載,保存美女圖片
'''
if __name__ == '__main__':
t1 = time.time()
url = 'http://www.netbian.com/meinv/'
resp = requests.get(url)
resp.encoding = 'gbk'
with open('index.html', 'wb') as f:
f.write(resp.content)
tree = etree.HTML(resp.content)
node_list = tree.xpath('/html/body/div[2]/div[2]/div[3]/ul/li')
sub_url_list = []
for node in node_list:
if len(node.xpath('./a/@href')) > 0:
sub_url = node.xpath('./a/@href')[0]
if len(node.xpath('./a/@href')) > 0:
title = node.xpath('./a/b/text()')[0]
sub_url_list.append((sub_url, title))
#
base_url = 'http://www.netbian.com/'
for sub_url, title in sub_url_list:
s_page = base_url + sub_url
s_resp = requests.get(s_page)
s_tree = etree.HTML(s_resp.content)
img = s_tree.xpath('/html/body/div[2]/div[2]/div[3]/div/p/a/img/@src')[0]
suffix = img.split('.')[-1]
img_content = requests.get(img).content
with open(f'./image/{title}.{suffix}', 'wb') as f:
f.write(img_content)
f.close()
t2 = time.time()
print(t2-t1)
經過這么一系列的操作,我們的美女圖片就到手啦

結語
到此有沒有對 Python 小爬蟲產生一個整體的認知呢,如果表示了解了,那么我們下一篇會循序漸進的談談其他 Python 爬蟲技術點(當然了,上面代碼雖然很少,但是你可能還是覺得有些看不懂,那就得自己去補習下相關知識了)
如果您覺得這篇文章有意思,麻煩一鍵三連支持一下林哥,或者也可以關注一下表示您對我文章的認可與鼓勵,
愿大家都能在編程這條路,越走越遠,**
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/290445.html
標籤:python
