python3半自动爬虫,获取风暴英雄官方壁纸
程序员文章站
2022-03-27 17:04:00
python3半自动爬虫获取风暴英雄官方壁纸引(废)言(话)动机与目标我为什么会写这篇blog我写这篇blog有什么用干货开始之前导入模块定义路径和UA读取本地html文件解析并提取图片地址获取地址所指向的图片参考资料引(废)言(话)随便打开一个搜索引擎然后输入“Python”、“爬虫”、“图片”这样的关键词组合,返回结果里必然会出现“X女X图”或者“妹X图X”这样的字眼……不得不感叹,色批是第一生产力。当然也不排除某些营销号动了脑筋以后,想出这样的标题吸引流量,真是辛苦他们了呢;不过从结果上看你们...
python3半自动爬虫获取风暴英雄官方壁纸
引(废)言(话)
随便打开一个搜索引擎然后输入“Python”、“爬虫”、“图片”这样的关键词组合,返回结果里必然会出现“X女X图”或者“妹X图X”这样的字眼……
不得不感叹,色批是第一生产力。
当然也不排除某些营销号动了脑筋以后,想出这样的标题吸引流量,真是辛苦他们了呢;不过从结果上看你们还是贩卖焦虑更有效些。
动机与目标
自己动手,丰衣足食。
——辣个蓝棱
我为什么会写这篇blog
女人哪有游戏好玩?.jpg
风暴要火.png
你们难道没有手机吗.gif
我写这篇blog有什么用
- 记录细节,以备后用
- 日记
- 可以直接抄走
干货
开始之前
这一次的目标是网站里的一个栏目,而且这一区域采用了动态加载的机制,你必须亲手点击那个“查看更多”按钮(若干次),才能最终得到所有图片的索引预览。
因此我手动拷贝了有关部分的HTML内容,至本地文件heroes.html
;这是我称这个爬虫为“半自动”的原因(本菜鸟认为:一定存在自动化的方法来免除动手操作的麻烦,只是我水平太低,无从寻找和使用。欢迎留言或者以别的方式让我知道,如果确实有用,我会以实际行动向你表达我的感谢)。
导入模块
import time
import random
from bs4 import BeautifulSoup
import urllib.request as ureq
from tqdm import tqdm
定义路径和UA
不管网站是否采取什么严格的反爬措施,这个UA头字串还是加了为好。
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36'}
st="file:///X:/heroes.html"
pic_path = 'pic/'
读取本地html文件
r = ureq.urlopen(st)
hfr = r.read()
解析并提取图片地址
soup = BeautifulSoup(hfr, 'html.parser')
imglist = []
all_index = soup.find_all('ul',{'class':"m-media-download-box clearFix"})
for i in all_index:
for imglink in i.find_all('a'):
imglist.append(imglink.get('href'))
pass
获取地址所指向的图片
# print(len(imglist))
test_dl = imglist[:2]
for el in tqdm(test_dl, ascii=True):
ureq.urlretrieve(el,pic_path+el.split('/')[-1])
time.sleep(random.random()*2)
pass
参考资料
bs4官方中文说明https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html
本文地址:https://blog.csdn.net/yongpassby/article/details/107862833