【爬虫】爬取电影封面思路
前言:上篇博客我爬取了“最近上映的电影”的影评的做了打印处理和统计词频数据处理并绘制词云,那么我想在爬取一下这些电影的封面
目录
前言:上篇博客我爬取了“最近上映的电影”的影评的做了打印处理和统计词频数据处理并绘制词云,那么我想在爬取一下这些电影的封面
1、基本目标
2、思路
1、首先一些基本反爬措施:
2、如何得到直接链接?
3、保存到本地
4、main
3、效果
【爬虫】爬取影评并根据词频制作词云思路_Fx_2003的博客-CSDN博客
【爬虫】图片爬取思路_Fx_2003的博客-CSDN博客
1、基本目标
爬取最近上映电影的封面
2、思路
首先分析网页的结构找到图片的直接地址链接,并通过之前的博客“图片爬取思路”来保存到本地
1、首先一些基本反爬措施:
headers = {'User-Agent': 'Mozilla/5.0 xxxxxx','Cookie': 'your Cookie xxxxxxx'
}
2、如何得到直接链接?
我定义了下面这个函数来获取:
先看代码:
def getSrc():url = "https://xxxxxxxxxx.com"req = requests.get(url, headers=headers).content.decode("utf-8")# print(req)soup = BeautifulSoup(req, 'html.parser')nowplaying = soup.find('div', id='nowplaying')movie_list = nowplaying.find_all('img')# print(movie_list)imgDics = []for imgUrl in movie_list:imgDic = {'alt': imgUrl['alt'], 'src': imgUrl['src']}print(imgDic)imgDics.append(imgDic)return imgDics# print(imgDics)
再看网页结构,在要爬取的网页按F12
我们要爬取的“最近上映的”都在,id="nowplaying"下。所以

nowplaying = soup.find('div', id='nowplaying') #这样获取到nowplaying里的所有
而图片链接都在 img标签下的src中,所以我们先获取到img标签:
movie_list = nowplaying.find_all('img')
img标签下有alt,src,前者是电影名字,后者是链接,我们把每一个图片的信息用字典存放,所有的图片字典用一个列表存放
3、保存到本地
这里我给了两种方法(这个在博客”图片爬取思路“也有说)
- 第一种用的with open来写入二进制信息,文件名用alt下的电影名字来保存
- 第二种用
from PIL import Image
from io import BytesIO
来获取
第一种
def save_image1():dics = getSrc()for each in dics:filename = r"H:/Project/PPython/ProjectQI/影评/img/{}.jpg".format(each['alt'])req = requests.get(each['src'], headers=headers).contentwith open(filename, "wb") as f:print(each['src'])f.write(req)print(filename)print('下载成功--{}'.format(each['alt']))
第二种
def save_image2():dics = getSrc()for each in dics:filename = r"H:/Project/PPython/ProjectQI/影评/img/{}.jpg".format(each['alt'])req = requests.get(each['src'], headers=headers).contenta = Image.open(BytesIO(req))a.save(r'H:/Project/PPython/ProjectQI/影评/img2/{}.jpg'.format(each['alt']))
4、main
if __name__ == '__main__':# url = input("输入网页图片直接地址") # name = input("请输入您要保存图片的名字:")save_image2()print("下载完成!")# print(getSrc())
3、效果

在保存的地址上查看图片
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
