python网络爬虫(二)

今天看了网络爬虫爬取图片的内容,主要是讲利用正则匹配爬图片。

Day3 - 3.正则解析案例01_哔哩哔哩_bilibili

所以就想着用学到的内容去试一下,我直接用这个方法去爬B站的图片。

(1)查找一下图片元素

 

 

 

最终,我们要给可匹配的正则,'<img src="(.*?)" alt=.*?>'。

(2)代码编写

复制代码
import re

import requests
import json
import os
if not os.path.exists("./pic"):
    os.mkdir("./pic")
img_list=[]
url = 'https://search.bilibili.com/all?vt=06867697&keyword=%E7%BD%91%E7%BB%9C%E7%88%AC%E8%99%AB'
head = {'User-Agent':
            'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.54'}  # 增加请求头,防反爬虫
data = {'type':'24',
        'interval_id':'100:90',
        'action':'',
        'start':'0',
        'limit':'20'
    }  # 带上from data的数据进行请求
ex='<img src="(.*?)" alt=.*?>'
for i in range(1,10):
    new_url=url+"page="+str(i)
    req = requests.get(url=new_url,headers=head).text
    img_list.append(re.findall(ex,req,re.S))
i=0
for img_vec in img_list:
    for img in img_vec:
        i=i+1
        img="https:"+img
        img_data=requests.get(url=img,headers=head).content
        imgPath="./pic/"+str(i)+".jpg"
        with open(imgPath,"wb") as fp:
            fp.write(img_data)
            print(img_data," loaded")
复制代码

(3)结果展示

 

posted @   澳大利亚树袋熊  阅读(28)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示