我练习了多线程并决定制作一个头像解析器。但是数据收集的速度还有很多不足之处。我究竟做错了什么?或者也许在 asyncio 下重新制作它?
import threading
import requests
from bs4 import BeautifulSoup
import lxml
def getImage():
#https://cspromogame.ru/avatars?page=1999
links = set()
for page in range(1,101): #2000
url = "https://cspromogame.ru/avatars?page={page}"
req = requests.get(url=url)
soup = BeautifulSoup(req.text,"lxml")
a = soup.findAll("a", class_="avatars__link")
for link in a:
link = link.get("href")
alinks = link.split("/")[-1].replace(".jpg","")
req2 = requests.get(link)
out = open(f"Avatars/Картинка_{alinks}.jpg",'wb')
out.write(req2.content)
out.close()
print("Обработано ", alinks)
threads = []
for i in range(11):
t = threading.Thread(target=getImage)
t.start()
for th in threads:
th.join()
实施方案(供审查)