爬虫修改成功版

本文介绍了一个Python爬虫实战案例,解决了无法保存jpg格式图片的问题,通过将图片格式改为PNG,并修复了被阻止访问的图片地址。爬虫使用requests和BeautifulSoup库,模拟浏览器发送请求,获取网页上的jpg图片链接,并将其下载到按日期命名的文件夹中,通过随机延时避免频繁请求。
部署运行你感兴趣的模型镜像

问题改进:

1:无法保存jpg格式,将图片格式换成了PNG。

2:被阻止访问

被阻止访问的图片地址格式:https://www.gamersky.com/showimage/id_gamersky.shtml?https://img1.gamersky.com/image2020/09/20200909_ls_red_141_3/gamersky_020origin_039_20209918207DC.jpg

修改后的访问格式:https://img1.gamersky.com/image2020/09/20200909_ls_red_141_3/gamersky_020origin_039_20209918207DC.jpg

 

#爬虫实战
import requests,urllib.request
from bs4 import BeautifulSoup
import os
import datetime,time
import random

#获取当前年月日并创建以年月日命名的文件夹
today=datetime.date.today()
if not os.path.exists(f'{today}'):
    os.makedirs(f'{today}') #如果没有这个path则直接创建

#爬虫部分
#头文件
header={"User-Agent":"Mozila/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36"} #利用header模拟是从谷歌浏览器发出请求

name=1
for i in range(2,45):
    url='https://www.gamersky.com/ent/202009/1319344_{}.shtml'.format(i)
    r=requests.get(url,headers=header)
    r.encoding = r.apparent_encoding#解决中文乱码问题
    html=r.text
    soup=BeautifulSoup(html,'lxml')#lxml是解析器
##    print(soup.p)#soup.p只能获得第一个p元素
##    print(soup.find_all('p'))#可以获取所有p元素
    list=soup.find_all('a')  #图片地址在Mid2L_con类的P标签下的a标签里
    for li in list:
        address=li.get('href')
        if '.jpg' in str(address):
##            print(address) #已经获得URL,接下来是保存图片
            b=address[53:]#修改图片访问地址
##            urllib.request.urlretrieve(address, f'./{today}/{str(name)}.png')#这种方法还没试
            pic=requests.get(b,headers=header)
            f=open(f'./{today}/{str(name)}.png','ab')
            f.write(pic.content)
            f.close()
            time.sleep(random.randint(1,5))#睡吧睡吧乖宝宝
            name +=1

您可能感兴趣的与本文相关的镜像

Wan2.2-T2V-A5B

Wan2.2-T2V-A5B

文生视频
Wan2.2

Wan2.2是由通义万相开源高效文本到视频生成模型,是有​50亿参数的轻量级视频生成模型,专为快速内容创作优化。支持480P视频生成,具备优秀的时序连贯性和运动推理能力

爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
如果您下载了本程序,但是该程序存在问题无法运行,那么您可以选择退款或者寻求我们的帮助(如果找我们帮助的话,是需要追加额外费用的)。另外,您不会使用资源的话(这种情况不支持退款),也可以找我们帮助(需要追加额外费用) 爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值