爬取网站图片并保存到本地

news/2024/5/9 10:35:33/文章来源:https://blog.csdn.net/weixin_44799217/article/details/113694970

第一步:模拟浏览器发出请求,获取网页数据

import requests# 目标网站
url = 'https://baijiahao.baidu.com/s?id=1687278509395553439&wfr=spider&for=pc'
# 头部伪装
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/ Firefox/84.0'}
# 发出请求
f = requests.get(url, headers=headers)      # 从网页获取html内容
print(f.text)       # 打印网页返回数据
print(f)

运行结果:

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

第二步:拿到网页数据进行解析

html = f.text
title = re.findall('<title>(.*?)</title>', html)[0]  # 文章标题
urls = re.findall('<img class="large" data-loadfunc=0 src="(.*?)" data-loaded=0 />', html)  # 图片网址
print(title)
print(urls)

运行效果:

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

第三步:保存图片

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

dir_name = './download/images'
if not os.path.exists(dir_name):     # 创建文件夹os.mkdir(dir_name)

保存图片:

for ur in urls:time.sleep(1)img_content = requests.get(ur, headers=headers)with open(dir_name + '/%s.png' % title, 'wb') as f:f.write(img_content.content)

运行效果:

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

全部代码:

import requests
import re
import time
import os# 目标网站
url = 'https://baijiahao.baidu.com/s?id=1687278509395553439&wfr=spider&for=pc'
# 头部伪装
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/ Firefox/84.0'}
# 发出请求
f = requests.get(url, headers=headers)      # 从网页获取html内容
# print(f.text)       # 打印网页返回数据
print(f)
html = f.text
title = re.findall('<title>(.*?)</title>', html)[0]  # 文章标题
urls = re.findall('<img class="large" data-loadfunc=0 src="(.*?)" data-loaded=0 />', html)  # 图片网址
print(title)
print(urls)
dir_name = './download/images'
if not os.path.exists(dir_name):     # 创建文件夹os.mkdir(dir_name)for ur in urls:time.sleep(1)img_content = requests.get(ur, headers=headers)with open(dir_name + '/%s.png' % title, 'wb') as f:f.write(img_content.content)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_700895.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php网站安全狗绕过,最新安全狗绕过姿势 - Azeng呐的个人空间 - OSCHINA - 中文开源技术交流社区...

安全狗是让大家最头疼的安全防护软件&#xff0c;然后我给大家带来最新的安全狗绕过&#xff0c;也不知道能活多久。攻防永无止境吧。最新版本安全狗从官网下载的&#xff0c;我来说一下思路。要想绕过安全狗首先你要知道&#xff0c;安全狗是怎么防护的&#xff0c;过滤的是什…

使用C#的HttpWebRequest模拟登陆网站

很久没有写新的东西了&#xff0c;今天在工作中遇到的一个问题&#xff0c;感觉很有用&#xff0c;有种想记下来的冲动。 这篇文章是有关模拟登录网站方面的。 实现步骤&#xff1b; 启用一个web会话发送模拟数据请求&#xff08;POST或者GET&#xff09;获取会话的CooKie 并根…

Scrapy框架模拟Github网站登陆

1. 以往的模拟登陆的方法 1.1 requests模块是如何实现模拟登陆的&#xff1f; 直接携带cookies请求页面找url地址&#xff0c;发送post请求存储cookie 1.2 selenium是如何模拟登陆的&#xff1f; 找到对应的input标签&#xff0c;输入文本点击登陆 1.3 scrapy的模拟登陆 直…

Python爬虫并自制新闻网站,太好玩了

来源 | 凹凸数据&#xff08;ID&#xff1a;alltodata&#xff09;我们总是在爬啊爬&#xff0c;爬到了数据难道只是为了做一个词云吗&#xff1f;当然不&#xff01;这次我就利用flask为大家呈现一道小菜。Flask是python中一个轻量级web框架&#xff0c;相对于其他web框架来说…

Spring Boot 2.X整合Spring-cache,让你的网站速度飞起来

计算机领域有人说过一句名言&#xff1a;“计算机科学领域的任何问题都可以通过增加一个中间层来解决”&#xff0c;今天我们就用Spring-cache给网站添加一层缓存&#xff0c;让你的网站速度飞起来。本文目录 一、Spring Cache介绍二、缓存注解介绍三、Spring BootCache实战1、…

一步步构建大型网站架构

之前我简单向大家介绍了各个知名大型网站的架构&#xff0c;MySpace的五个里程碑、Flickr的架构、YouTube的架构、PlentyOfFish的架构、WikiPedia的架构。这几个都很典型&#xff0c;我们可以从中获取很多有关网站架构方面的知识&#xff0c;看了之后你会发现你原来的想法很可能…

利用WxJava实现PC网站集成微信登录功能,核心代码竟然不超过10行

最近网站PC端集成微信扫码登录&#xff0c;踩了不少坑&#xff0c;在此记录下实现过程和注意事项。本文目录 一、微信开放平台操作步骤1.创建“网站应用”2.获取AppID和AppSecret二、开发指南三、开发实战1、pom.xml引入jar包2、配置文件添加对应的配置3、初始化配置4、控制层核…

你为什么应该经常访问招聘网站?招聘网站至少有4个方面的价值!

一、缘起读大学的时候&#xff0c;有时候会感到很迷茫&#xff0c;不知道毕业之后可以做什么&#xff0c;自己能拿到多少的月薪。于是&#xff0c;就想到去参加一些公司的招聘。大二大三的时候&#xff0c;就去武大参加了武汉中地数码等3个公司的笔试。但是&#xff0c;没有交答…

从12306网站谈起虚拟主机选购注意事项

2019独角兽企业重金招聘Python工程师标准>>> “独在异乡为异客&#xff0c;每逢佳节倍思亲。”在临近年关的氛围下&#xff0c;尤其是只能通过火车才能归家的“游子”&#xff0c;是否也像笔者一样看着不能打开的12306网站望“票”兴叹呢&#xff1f;身为国内资深虚…

在任何设备上都完美呈现的30个华丽的响应式网站

如今&#xff0c;一个网站只在桌面屏幕上好看是远远不够的&#xff0c;同时也要在平板电脑和智能手机中能够良好呈现。响应式的网站是指它能够适应客户端的屏幕尺寸&#xff0c;自动响应客户端尺寸变化。在这篇文章中&#xff0c;我将向您展示在任何设备上都完美的30个华丽的响…

新浪微博推广网站的一些实践体会

本以为微博推广很难&#xff0c;每天都要刷粉刷内容的&#xff0c;也本以为做微博推广也很简单&#xff0c;一不卖产品、二不卖服务的&#xff0c;目的单纯灵活性强些&#xff0c;做了之后才发现都不是那么回事&#xff0c;微博虽然也过了“火了”&#xff0c;但新媒体还真是不…

windowsXP用户被禁用导致不能网站登录

1、查看系统事件&#xff0c;发现弹出如下的错误 2、根据上面的错误&#xff0c;我们很容易就可以判断是禁用了账户引起的 2.1后面进入计算机管理&#xff0c;再进入用户管理 2.2双击点开Internet来宾用于&#xff0c;发现此用户已经停用了。 2.3双击点开与IIS访问有关用户&…

AI 和 SEO 的结合:是福还是祸?

作者 | Vik Bogdanov翻译 | Katie,责编 | 晋兆雨头图 | 付费下载于视觉中国自成立以来&#xff0c;搜索引擎已经从基本搜索代理变成了基于人工智能&#xff08;AI&#xff09;和机器学习&#xff08;ML&#xff09;的复杂算法。这些创新技术从两个完全相反的角度影响搜索引擎优…

【云计算】云上建站快速入门:博客、论坛、CMS、电子商务网站统统

免费网站怎么建&#xff0c;空间也能免费吗?免费网站怎么建立&#xff0c;免费网站并非免费空间互联网真的有免费建站这等好事&#xff1f;现在制作一个网站已经越来越容易了&#xff0c;只要知道清晰的流程之后都是可以很快的建好一个企业或者个人网站的&#xff01;免费的建…

PrestaShop 网站后台配置(六)

转载请注明出处&#xff1a;http://www.cnblogs.com/zhong-dev/p/4943023.html 网店版本 Prestashop v1.6 配置邮箱店铺在客户下单之后&#xff0c;可以自动给客户发送邮件&#xff0c;要实现这个功能首先一点服务器要支持邮件功能。现在网店的运行环境是 amh 环境&#xff0c…

在 Azure 网站上使用 Memcached 改进 WordPress

编辑人员注释&#xff1a;本文章由 Windows Azure 网站团队的项目经理 Sunitha Muthukrishna 和 Windows Azure 网站开发人员体验合作伙伴共同撰写。 您是否希望改善在 Azure 网站服务上运行的 WordPress 网站的性能&#xff1f;如果是&#xff0c;那么您就需要一个可帮助加快您…

微软惹的祸!CVPR提交网站最后1小时被挤崩,官方紧急延长36小时

视学算法报道 编辑&#xff1a;小咸鱼 好困【新智元导读】CVPR提交网站宕机了&#xff0c;而且还是在截止时间前的最后1个小时&#xff01;于是DDL被紧急延长了1天半。什么&#xff1f;CVPR 2022的论文提交网站居然在deadline之前一个小时崩掉了&#xff01;赶着DDL提交论文的…

域名年龄-SEO搜索引擎优化

为什么80%的码农都做不了架构师&#xff1f;>>> 域名年龄-SEO搜索引擎优化 在我们创建一个新的网站时&#xff0c;我们首先考虑到的是去注册一个新的域名。 有时发现我们 要注册的域名已经被注册了&#xff0c;于是就有两种方式&#xff1a; 一、重新注册另外的…

网络空间安全之信息追踪——学习笔记 利用门户网站,综合信息追踪

企业信息追踪与防护&#xff1a; 对于一个公司来说&#xff0c;只要牵扯到公司任一信息&#xff0c;都可以称之为公司的机密文件&#xff01; 知名门户网站搜索&#xff1a; 新华网&#xff1a;http://www.xinhuanet.com/ 党中央直接部署的&#xff0c;重大影响力&#xff01; …

1.lamp网站构建

bs、cs结构 及优缺点 s-server , c-client , b-broswer cs结构&#xff1a;客户端--服务器 &#xff0c; 比如QQ&#xff0c;首先要下载QQ客户端&#xff0c;之后是客户端与服务器连接 &#xff0c; bs结构&#xff1a;浏览器--服务器 &#xff0c; 浏览器直接登录的&#xff…