爬某mz网模板,可以稍加改动爬取类似网站
本帖最后由 cattie 于 2023-7-24 11:40 编辑import threading
import time
import requests
from bs4 import BeautifulSoup
import os
exitFlag = 0
base_url = 'https://.org/zh/'
top_urls = []
top_tit = []
def top_url(url):
res = requests.get(url)
html = BeautifulSoup(res.text, 'html.parser')
url_list = html.find_all('a', target='_blank')
for img_url in url_list:
img_u = img_url.get('href')
img_t = img_url.get('title')
top_urls.append(img_u)
top_tit.append(img_t)
print(img_u + '已经存入')
create_dir(img_t)
def sec_url(url, tit):
print('sec_url begin')
if url != 'https://www..net/':
print(url + '正在使用')
res = requests.get(url)
html = BeautifulSoup(res.text, 'html.parser')
url_list = html.find_all('img', loading='lazy')
for img_url in url_list:
print(img_url)
img_u = img_url.get('src')
num = str(url_list.index(img_url))
img_t = tit + num
print(img_t, img_u)
down_pic(img_u, tit, img_t)
print('sec_url end')
def down_pic(url, fil1, fil2):
res = requests.get(url)
with open(f'D:/PycharmProjects/pythonProject2//{fil1}/{fil2}.jpg', 'wb') as f:
f.write(res.content)
print('已经下载{}'.format(fil2))
def create_dir(name):
path = ".//{}".format(name)
if not os.path.exists(path):
os.makedirs(path)
top_url(url=base_url)
threads = []
for top_ur, top_t in zip(top_urls, top_tit):
print(top_ur + '已经取出')
t = threading.Thread(target=sec_url, args=(top_ur, top_t))
threads.append(t)
t.start()
for t in threads:
t.join()
Arcticlyc 发表于 2023-7-24 11:32
歪曲,怎么不早说,一不小心就打开了,太尴尬了
把网址交出来让大家一起尴尬咯{:1_886:} 这是什么网址,被你们这么一说不敢运行代码了 一大早就发福利~~楼主、膜拜 网址好评加一个,支持楼主,感谢分享 真心好评 这网站有点那啥同事都看到了:Dweeqw 歪曲,怎么不早说,一不小心就打开了,太尴尬了 这代码看的太累,一个注释没有,看的时间自己也写完了。 网址呢,没看到呀{:301_999:} 前几楼看到了什么网址,来晚了啊,发出来瞅瞅呗 初见悲风 发表于 2023-7-24 14:33
前几楼看到了什么网址,来晚了啊,发出来瞅瞅呗
同求啊~~~~~
页:
[1]
2