当前位置: 移动技术网 > IT编程>脚本编程>Python > python3半自动爬虫,获取风暴英雄官方壁纸

python3半自动爬虫,获取风暴英雄官方壁纸

2020年08月10日  | 移动技术网IT编程  | 我要评论
python3半自动爬虫获取风暴英雄官方壁纸引(废)言(话)动机与目标我为什么会写这篇blog我写这篇blog有什么用干货开始之前导入模块定义路径和UA读取本地html文件解析并提取图片地址获取地址所指向的图片参考资料引(废)言(话)随便打开一个搜索引擎然后输入“Python”、“爬虫”、“图片”这样的关键词组合,返回结果里必然会出现“X女X图”或者“妹X图X”这样的字眼……不得不感叹,色批是第一生产力。当然也不排除某些营销号动了脑筋以后,想出这样的标题吸引流量,真是辛苦他们了呢;不过从结果上看你们

引(废)言(话)

随便打开一个搜索引擎然后输入“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

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网