本帖最后由 yijiuxiaole 于 2021-12-21 19:16 编辑
我白票好久了。终于发次贴了。
第一次发帖,如果不好请多多照料
学了爬虫没多久,今天实在无聊,就写了一个爬虫,爬取壁纸的小姐姐
我的命名很随意的,标识符我感觉都能把我愁死,所以咋简单咋来吧!
没有上多线程,慢慢来吧。
大佬误喷哈
网页全是静态的 所以不多说了 上代码代码 如果有什么不好的地方可以一起交流下
import time
import re
import os
import requests
headers = {
'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36'
}
for z in range(1,10): # 更改页数
print('正在下载第{}页'.format(z))
url = 'https://mm.enterdesk.com/{z}.html'
resp = requests.get(url,headers=headers)
list1 = []
urls = re.findall(r'<div><a href="(?P<href>.*?)" target="_blank">(?P<name>.*?)</a>',resp.text,re.S)
for i in urls:
name = i[1].strip()
if not os.path.exists(name):
os.mkdir(name)
urls1 = i[0]
resp1 = requests.get(url=urls1,headers=headers).text
aa = re.finditer(r'class="pics_pics ".*?href="/bizhi/(?P<href>.*?)".*?title="{}'.format(name),resp1,re.S)
for i in aa:
aaa = 'https://mm.enterdesk.com/bizhi/' + i.group('href')
# print(aaa)
resp2 = requests.get(url=aaa,headers=headers).text
dd = re.findall(r' var original_pic = "(.*?)";', resp2, re.S)[0]
list1.append(dd)
cc = re.findall(r' var original_pic = "(.*?)";',resp1,re.S)[0]
list1.append(cc)
c = 0
for ii in list1:
c += 1
name1 = f'{name}{c}'
with open(f'{name}/{name1}.jpg','wb') as f:
f.write(requests.get(url=ii,headers=headers).content)
print(f'{name1}保存完成')
time.sleep(2) # 不要太快
print('休息两秒哦~')
|