Web Scraping - мне нужно авторизоваться в LinkedIn, чтобы использовать веб-скрап - PullRequest
1 голос
/ 27 мая 2019

В настоящее время я создаю веб-скребок для Linkedin, но LinkedIn блокирует мой бот для очистки данных, потому что я не вошел ни в какую учетную запись.Моя цель в основном состоит в том, чтобы отсканировать любое предложение работы, сделанное компаниями, но мой вопрос в первую очередь касается регистрации в коде.

Я на Python 3.X, используя scrapy и formrequest.

Поэтому я искал в Интернете решение, которое, как мне показалось, требовал пакет formrequest.Тем не менее, после нескольких попыток он все еще не работает.

import scrapy
from scrapy.http import FormRequest
from scrapy.utils.response import open_in_browser
from ..items import LinkedinItem


class LinkedinSpiderSpider(scrapy.Spider):
    name = 'linkedin_spider'
    start_urls = ['https://www.linkedin.com/login']

    def parse(self, response):
        token = response.css('form input::attr(value)').extract_first()
        print(token)
        return FormRequest.from_response(response, formdata={
            'csrf_token': token,
            'username': 'XXX@gmail.com',
            'password': 'XXX'
        }, callback=self.start_scraping)

    def start_scraping(self, response):
        open_in_browser(response)
        items = LinkedinItem()
        all_div_quotes = response.css('div.quote')

        for quotes in all_div_quotes:
            Job_offers = response.css('.disabled').css('::text').extract()
            company = response.css('.job-card-search__company-name-link').css('::text').extract()
            information = response.css('.job-card-search__description-snippet').css('::text').extract()

            items['Job_offers'] = Job_offers
            items['company'] = company
            items['information'] = information

            yield items

Я добавил пакет open_in_browser, чтобы проверить, правильно ли я вошел в систему и браузер открывается на экране входа в систему и он написан: пожалуйста, введите адрес электронной почтыадрес

Я ожидаю, что мой браузер откроет домашнюю страницу с моей учетной записью.

Спасибо

1 Ответ

4 голосов
/ 28 мая 2019

Хотя я не могу дать ответ на ваш первоначальный вопрос, я могу вам сказать, что то, что вы делаете, противоречит политике расширений программного обеспечения LinkedIn .

В целях защиты данных наших участников и нашего веб-сайта мы не разрешаем использовать любое стороннее программное обеспечение, включая «сканеры», ботов, плагины для браузера или расширения браузера (также называемые «надстройками»). "), который очищает, изменяет внешний вид или автоматизирует деятельность на веб-сайте LinkedIn.

Будь осторожен. Мало того, что многие веб-сайты используют методы защиты от очистки данных, но некоторые (включая LinkedIn), как известно, привлекают разработчиков к суду за подобные вещи.

Для безопасного, легального способа сделать то, что вы пытаетесь сделать, проверьте Страница API LinkedIn .

...