爬虫学习——爬取网站图片并保存到本地

阅读: 评论:0

爬虫学习——爬取网站图片并保存到本地

爬虫学习——爬取网站图片并保存到本地

爬虫学习——爬取网站图片并保存到本地

爬取步骤:
1,模拟浏览器发出请求
2,解析网页
3,路径下创建文件夹并保存图片

第一步——发出请求

# 目标网站
url = '.html'
# 头部伪装
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/ Firefox/84.0'}
# 发出请求
f = (url,headers=headers)      # 从网页获取html内容
#)       # 打印网页返回数据
print(f)

根绝print(f)中的返回值来判定是否爬取成功,为200时表示网页有相应,爬取成功,为403或者其他则表示不成功,可能时网站具有反爬机制。

第二步——解析网页

html = f.text
dir_name = re.findall('<h1 class="post-title h1">(.*?)</h1>',html)[-1] # 文件夹名字
urls = re.findall('<a href="(.*?)" alt=".*?" title=".*?">',html)  # 图片网址
print(dir_name)     
print(urls)

在这里使用的是正则表达式,首先需要先找到图片的网址,检索网页,然后进行匹配找到相应的区域段,而后将需要的部分改成(.?),不需要的部分改成 .? 不加括号。如程序中的re.findall()中所示。
如果在print(urls)时,出现的结果为 [] ,则表示未能匹配到内容,一般而言是正则出现了问题。

第三步——保存图片

在当前目录下创建文件夹,使用 os.mkdir() 函数

if not ists(dir_name):     # 创建文件夹os.mkdir(dir_name)

实现逐个保存功能

for ur in urls:time.sleep(1)file_name = ur.split('/')[-1]ur = 'http:' + ur    #  构成网址格式f = (ur,headers=headers)  with open(dir_name + '/' + file_name,'wb') as h:h.t)

建议加上time.sleep()函数,如果访问过于频繁可能会被识别出。此处使用 ‘wb ’的二进制形式写入。

代码

import requests   # 模拟浏览器发出请求
import re     #正则匹配
import time
import os    # 操作系统# 目标网站
url = '.html'
# 头部伪装
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0'}
# 发出请求
f = (url,headers=headers)      # 从网页获取html内容
#)       # 打印网页返回数据
print(f)
html = f.text
dir_name = re.findall('<h1 class="post-title h1">(.*?)</h1>',html)[-1]
if not ists(dir_name):     # 创建文件夹os.mkdir(dir_name)
# 图片网址
urls = re.findall('<a href="(.*?)" alt=".*?" title=".*?">',html)
print(dir_name)
print(urls)for ur in urls:time.sleep(1)file_name = ur.split('/')[-1]ur = 'http:' + urf = (ur,headers=headers)with open(dir_name + '/' + file_name,'wb') as h:h.t)print("over")

本文发布于:2024-02-05 07:05:06,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170726967064253.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:爬虫   并保存   图片   网站
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23