牛老师是一个滴水之恩当涌泉相报的人。
看着群里小伙伴们的无私分享,再看看自己空空如也的文件夹,我羞愧的低下了头 。
为了能回报小伙伴,和广大无私的网友
牛老师毅然决然的做出了这个造福人民的决定
靠着这个程序,如今已经成为了群里众人膜拜的大佬
接下来牛老师将法宝传授给你们,让你们也能拥有属于自己的“学习资料”
开发环境
-
系统:Windows10 64位
-
Python版本:3.9
-
Pycharm版本:2021.1.3
-
模块(库):re、requests、os、BeautifulSoup
一、获取网页信息
强壮的牛老师,选择了一个柔弱没有防备的网站来偷袭
为了伪装成一个无害的文弱青年,方便之后的进一步操作
祭出祖传操作,先声明一个请求头,下面的headers参数用于伪装
然后悄咪咪的偷袭,先判断能不能下手,确定能下手后先获取了第一手信息
url = 'http://www.netbian.com/meinv/'
#先声明请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
}
#判断网络连接状态
try:
r = requests.get(url, headers=headers)
r.raise_for_status()
r.encoding = r.apparent_encoding
print(r.text)
except:
print('网络状态错误')
二、分析网页
想到马上就能得到图片的牛老师满心欢喜,激动的打开了图片
结果发现画质不太给力,原本1920x1080的高清大图变成了800x450
直接通过主页面所下载的图片是缩略图
于是牛老师通过进入到详情页,又下载了一次。果然,这次得到了又大又圆的高清图片
按下F12,查看div标签中图片的详细参数,可以看到这里有高清大图的链接
所以,我们只需要通过BeautifulSoup提取出来,下载它就很简单了
三、获取图片链接
既然找到了高清图片的链接,那么就通过BeautifulSoup,把这些链接都截取下来
首先牛老师先把,获取网页信息的代码封装成函数,以方便调用
def getHtml(url):
#先声明请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
}
#判断网络连接状态
try:
r = requests.get(url, headers=headers)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
print('网络状态错误')
因为要的是有用的数据,这一步首先把整体的链接都提取出来了
电脑很蠢,不能直接拿到我们想要的数据,所以这里通过"list"作为锚点,把有用的地方筛选出来
把没有用的链接先剔出去
有用的链接因为都只有后缀,所以下面给它凑个网址出来,这样一个完整的链接就出来了
url = 'http://www.netbian.com/meinv/'
#先储存每张图的url
url_list = []
demo = getHtml(url)
soup = BeautifulSoup(demo,'html.parser')
#class=