#python #web-scraping
Вопрос:
Я хочу получить данные из Justdial для получения названия школы , адреса и номера телефона. У меня уже готов сценарий. Я использую Скраппи и селен. Однако я получаю HTTP-ошибки 403(запрещено) и 504(тайм-аут шлюза) с сервера Justdial. Там написано, что доступ запрещен. Для любого другого веб-сайта, когда я использую скраппи с помощью выборки, мы можем получить исходный код, но для Justdial он показывает, что доступ запрещен.
import scrapy
class JustSpider(scrapy.Spider) :
name = 'school'
start_urls = [
'https://www.justdial.com/Delhi/search?q=Schools'
]
def parse(self, response) :
title = response.css('title::text').extract()
yield {'titletext': title}
Я использовал несколько типов пользовательских агентов и пробовал их на разных машинах с разными сетями, использовал VPN, прокси для запуска этой программы. Даже если я попытаюсь извлечь хотя бы простую строку текста из Justdial, я получу ту же ошибку.
Сначала я получаю ошибку 403, а затем после нескольких попыток я получаю ошибку 504, как это:-
Игнорирование ответа <504 » rel=»nofollow noreferrer»>https://www.justdial.com/Delhi/search?q=Школы>>: Код состояния HTTP не обрабатывается или не разрешен
и после этого паук закрывается.
Есть ли обходной путь для этого?
Ответ №1:
Я добавил USER_AGENT='Mozilla/5.0'
в settings.py
файл, чтобы заставить его работать.