python爬蟲學習(四):爬取網頁圖片-正則解析數據


有一個需求,爬取網頁中的圖片

思路:
1、先爬取整個網頁
2、通過控制台找到圖片地址的的規則,使用正則獲取圖片地址

由此看出地址的規則為

<p class="one-p"><img class="content-picture" src="//inews.gtimg.com/newsapp_bt/0/14610607424/1000">
</p>

正則表達式為:

ex = '<img class="content-picture" src="(.*?)"'

代碼參考

# -*- encoding: utf-8 -*-
"""
@File    : widgets.py
@Time    : 2022/3/6 15:52
@Author  : simon
@Email   : 294168604@qq.com
@Software: PyCharm
"""
import requests
import re
import os


if __name__ == "__main__":
    if not os.path.exists(''):
        url = 'https://new.qq.com/omn/20220310/20220310A03I7300.html'
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36'
        }
        #把整個網頁進行爬取以文本方式提取
        page_text = requests.get(url=url,headers=headers).text
        #使用聚焦爬蟲爬取所有圖片網址進行解析/提取
        ex = '<img class="content-picture" src="(.*?)"'
        img_src_list = re.findall(ex,page_text,re.S)
        for src in img_src_list:
            #拼接 完整的url
            src = 'https:' + src
            #請求到圖片的二進制數據
            img_data = requests.get(url=src,headers=headers).content
            #生成圖片名稱
            img_name = src.split('/')[-2] + '.jpg'
            #圖片存儲路徑
            img_path = './tupian/' + img_name
            with open(img_path,'wb') as ap:
                ap.write(img_data)
                print('下載成功')



成果展示:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM