Я учусь использовать Scrapy и пытался применить его для сканирования моего школьного каталога.
Я использую Scrapy 2.0.0
Всякий раз, когда я нажимаю команду в cmd (Jupyter)
scrapy crawl gettheprof_dict
В журнале появляется ошибка:
ОШИБКА: обработка ошибки паука https://bizfaculty.nus.edu.sg/faculty-directory/> (реферер: отсутствует)
Вот код моего паука gettheprof_dict:
# -*- coding: utf-8 -*-
import scrapy
class GettheprofDictSpider(scrapy.Spider):
name = 'gettheprof_dict'
allowed_domains = ['bizfaculty.nus.edu.sg']
start_urls = ['http://bizfaculty.nus.edu.sg/faculty-directory/','http://bizfaculty.nus.edu.sg/faculty-directory/page/2/']
def parse(self, response):
print("processing: " + response.url)
#Extract data using css selectors
prof_name = response.css("div.cards-details h4 a::text").extract()
prof_class = response.css("div.cards-details div span:text").extract()
prof_department=response.css("div.cards-details div strong::text").extract()
prof_place = response.css("ul.cards-contact li:nth-child(1) div::text").extract(),
prof_phone = response.css("ul.cards-contact li:nth-child(2) div::text").extract(),
prof_email = response.css("ul.cards-contact li:nth-child(3) div::text").extract(),
row_data=zip(prof_name,prof_class,prof_department,prof_place,prof_phone,prof_email)
#Making extracted data row wise
for item in row_data:
#create a dictionary to store the scraped info
scraped_info = {
#key:value
'page':response.url,
'Prof_name' : item[0], #item[0] means product in the list and so on, index tells what value to assign
'Prof_Class' : item[1],
'Prof_Department' : item[2],
'Prof_place' : item[3],
'Prof_phone' : item[4],
'Prof_email' : item[5],
}
#yield or give the scraped info to scrapy
yield scraped_info
Понятия не имею, что пошло не так. Я могу легко получить доступ к ссылке. Любые предложения будут очень очень полезны. Пожалуйста, помогите!