Я работаю над Google Image Crawler.
У меня есть источники страниц и извлечены части, в которые встроен href
.
Исходные коды приведены ниже:
links = soup.find_all("a", class_="rg_l")
try:
pool = Pool(8)
pool.map(web_crawl.download_image, links)
finally:
pool.close()
pool.join()
Я пытался передать каждый элемент ссылок (список) в функцию download_image
и запросить изображение по протоколу http.Но он продолжает выплевывать ошибку Bus 10.Любой совет будет принят.
(я проверял, что pool.map () вызывает эту ошибку)
download_image
функция выглядит так:
def download_image(link):
ua = UserAgent()
headers = {"User-Agent": ua.random}
# Get the image link
try:
r = requests.get("https://www.google.com" + link.get("href"), headers=headers)
except:
print("Cannot get link.")
title = str(fromstring(r.content).findtext(".//title"))
links = title.split(" ")[-1]
# Download the image
print("At : " + os.getcwd() + ", Downloading from " + links)
try:
if links.split(".")[-1] == ('jpg' or 'png' or 'jpeg'):
urllib.request.urlretrieve(links, links.split("/")[-1])
except:
pass