Избегать быть обнаруженным во время утилизации - PullRequest
0 голосов
/ 22 октября 2018

Я пытаюсь удалить сайт lacentrale.fr благодаря scrapy, но даже если я поверну своего агента пользователя и IP-адрес (благодаря TOR), сайт обнаружит моего робота и отправит мне ложные значения.Можете ли вы проверить мой код, используемый в промежуточных программах и настройках, и сообщить мне, если что-то пошло не так.

код в промежуточных программах:

from tutorial.settings import * #USER_AGENT_LIST
import random

from stem.control import Controller
from toripchanger import TorIpChanger
from stem import Signal

class RandomUserAgentMiddleware(object):

def process_request(self, request, spider):
    ua = random.choice(USER_AGENT_LIST)
    if ua:
        request.headers.setdefault('User-Agent', ua)


def _set_new_ip():
    with Controller.from_port(port=9051) as controller:
        controller.authenticate(password='')
        controller.signal(Signal.NEWNYM)

ip_changer = TorIpChanger(reuse_threshold=10)
class ProxyMiddleware(object):
    _requests_count = 0

def process_request(self, request, spider):
    self._requests_count += 1
    if self._requests_count > 10:
        self._requests_count = 0
        ip_changer.get_new_ip()

        print("New Tor connection processed")

    request.meta['proxy'] = 'http://127.0.0.1:8118'
    spider.log('Proxy : %s' % request.meta['proxy'])

Код, использованный в настройках:

BOT_NAME = 'tutorial'

SPIDER_MODULES = ['tutorial.spiders']
NEWSPIDER_MODULE = 'tutorial.spiders'


ROBOTSTXT_OBEY = True


DOWNLOAD_DELAY = 1
RANDOMIZE_DOWNLOAD_DELAY = True
DOWNLOADER_MIDDLEWARES = {
    'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware': None,
    'tutorial.middlewares.RandomUserAgentMiddleware': 400,
    'scrapy.contrib.downloadermiddleware.httpcompression.HttpCompressionMiddleware':None, # to avoid the raise IOError, 'Not a gzipped file' exceptions.IOError: Not a gzipped file
    'scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware': 110,
    'tutorial.middlewares.ProxyMiddleware': 100
    }



USER_AGENT_LIST=[

    {'User-agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5'},
    {
        'User-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1'},
    {
        'User-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/28.0.1469.0 Safari/537.36'},
    {
        'User-agent': 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/28.0.1469.0 Safari/537.36'},
    {
        'User-agent': 'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36'},
    {
        'User-agent': 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36'},
    {
        'User-agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36'},
    {
        'User-agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36'},
    {'User-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:35.0) Gecko/20100101 Firefox/35.0'},
    {'User-agent': 'Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0'}
    ]

РЕДАКТИРОВАТЬ II

кажется, что каждый раз используется один и тот же ip, и на ip-адресе нет вращения.Я не знаю, что я могу изменить в моем файле middlwares, чтобы решить эту проблему !!пожалуйста, есть идеи?

1 Ответ

0 голосов
/ 23 октября 2018

Вы можете быть обнаружены по нескольким факторам, включая то, загружает ли ваш скребок / запускает файлы javascript.Если это так, вам, возможно, понадобится использовать инструмент, подобный селену, в сочетании с Python / Scrapy, чтобы в дальнейшем притворяться обычным человеком.

В этом посте, посвященном переполнению стека, предлагается некоторая помощь в начале работы:

https://stackoverflow.com/a/17979285/9693088

Не думаю, что смогу дать много советов о том, что может быть не так с настройкой TOR

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...