1. 程式人生 > 實用技巧 >我的第一次"爬蟲"

我的第一次"爬蟲"

爬蟲是一種快速獲取伺服器中資料的簡便方法.它可以模擬客戶端向伺服器發出請求,獲取伺服器響應.

近期在看了部落格園的一篇部落格後,我自己嘗試著寫了一個粗略的的爬蟲程式,可以實現爬取網頁中的部分圖片.

程式程式碼如下:

class SpaDer(object):
def __init__(self):
self.address = input('請輸入網址:')

def operation(self):
import re
import requests
from bs4 import BeautifulSoup
import urllib.request

try:
file = urllib.request.urlopen(self.address)
html_code = file.read().decode('utf-8')
soup = BeautifulSoup(html_code, features="html.parser")
lst = soup.find_all('img')
lst1 = re.findall(r'http.{10,100}jpg', str(lst))
num = 0
for i in lst1:
with open(f'./imgs/{num}.jpg', 'wb')as f:
f.write(requests.get(i).content)
num += 1
print(f"已經下載了{num}張圖片,還有{len(lst1) - num}張正在下載")
except:
pass
其業務邏輯為:
用網頁下載包ullib將網頁全部程式碼下載到本地,然後用網頁解析包bs4對網頁進行解析,獲取網頁中的所有圖片標籤,再用python的正則表示式包re匹配圖片地址,最後用伺服器請求包requests包的get方法獲取
圖片的二進位制流資料並將其寫入本地的.jpg檔案中即可.