有个本科室友很喜欢花生漫画(Peanuts),我打算把Peanuts官网从1953年到现在的全部漫画都爬给他。
分析 1、 网址分析Peanuts官网网页结构简单,前面是固定的,后面就是年月日
https://www.gocomics.com/peanuts/1953/1/2
网页内容如下:
2、网页内容分析找到漫画图片对应的前段元素,可以看到漫画图片的标题对应着img class里面的alt属性,漫画的图片链接对应着img class里面的src属性
代码实现from selenium import webdriver
import requests
import re
browser = webdriver.Chrome()
for year in range(1953,2021): # 年
for month in range(1,13): # 月
for day in range(1,29): # 日
url = f'https://www.gocomics.com/peanuts/{year}/{month}/{day}'
browser.get(url)
data = browser.page_source # 获取网页源码
# 正则表达式匹配漫画图片的标题
title = re.findall(', data, re.S)
# 正则表达式匹配漫画图片的链接
img = re.findall(', data, re.S)
# 保存爬取的内容
for i in range(len(title)):
title[i] = title[i].replace('Peanuts Comic Strip for','')
res = requests.get(img[i])
file = open('peanuts/' + title[i] + '.jpg', 'wb')
file.write(res.content)
file.close()
# browser.close()
结果



