Выскабливание Justdial

#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 файл, чтобы заставить его работать.