1. 程式人生 > >Python3.6爬取網站圖片

Python3.6爬取網站圖片

最近幾天在學習python,寫了個簡單的爬蟲程式:

成功執行程式碼的前提是安裝了Python需要的第三方庫,以下是程式碼:

# -*- coding:utf8 -*-
import os
import re
import requests as rq
import urllib
from bs4 import BeautifulSoup

#下載圖片
def getHtml2():
    html = rq.get(urls).text
    soup = BeautifulSoup(html,"html.parser")#文件物件
    for k in soup.find_all('a',class_="tit"):#獲取class為tit的a標籤
        print(k)
        addr = re.compile('<a class="tit" href="(.*?)"')
        url = re.findall(addr,repr(k))[0]
        #建立路徑資料夾名稱
        cate_name = re.findall('<a .*?>(.*?)</a>',repr(k),re.S|re.M)[0]
        path = 'C:/data/images\\%s' % cate_name
        # 建立檔案目錄
        os.mkdir(path)
        # 切換到該目錄
        os.chdir(path)
        #print(url)
        for x in range(1,20):
            url1 = url.split(".html")[0]+"_"+str(x)+".html"
            html1 = rq.get(url1).text
            soup1 = BeautifulSoup(html1,"html.parser")#文件物件
            image = soup1.find_all('img')[0]
            print(image)
            res_url = r"(?<=src=\").+?(?=\")|(?<=src=\').+?(?=\')"
            img_url = re.findall(res_url ,repr(image), re.I|re.S|re.M)[0]
            urllib.request.urlretrieve(img_url, '%s.jpg' % x) #prython3.6寫法

def main():
    print("開始解析網頁===>")
    global urls
    
    urls = "http://www.58gc.cn/brjr/"
    getHtml2()
    print("網頁解析結束===>")

main()