0
0 комментариев

Подскажите, пожалуйста, как убрать фильтрацию с повторяющихся request?
Дело в том, что каждый раз, когда заходишь на разные страницы требется вводить логин и пароль и идет перенаправление на страницу входа.

Filtered duplicate request: <POST https://member.expireddomains.net/login/> - no more duplicates will be shown (see DUPEFILTER_DEBUG to show all duplicates)

Мой код:

from scrapy import FormRequest
from scrapy import Request
 
from ..items import GetDomainsItem
from scrapy.spiders import CrawlSpider
import re
 
 
class GetUrlDelDomSpider(CrawlSpider):
name = 'get_domains'
 
allowed_domains = ["expireddomains.net"]
 
start_urls = list(map(lambda p: 'https://member.expireddomains.net/domains/expiredcom201612/?start=%s' % p, [0, 25]))
 
def start_requests(self):
    for url in self.start_urls:
        yield Request(url, self.parse, dont_filter=True)
 
def parse(self, response):
    yield FormRequest.from_response(response,
                                    formnumber=1,
                                    formdata={'login': 'xxx', 'password': '*****', 'rememberme': '2'},
                                    callback=self.parse_login)
 
def parse_login(self, response):
    if b'The supplied login information are unknown.' not in response.body:
        item = GetDomainsItem()
        for each in response.selector.css('table.base1 tbody '):
            domain_old = each.xpath('tr/td[@class="field_domain"]/a/text()').extract()
            domain_list = list(filter(None,
                                      map(lambda el: el if not re.search('[-\d]', el) and len(el) <= 15 else '',
                                          domain_old)))
            without_dot = list(
                map(lambda dom: '%s%s' % (dom.split('.')[0][0].lower(), dom.split('.')[0][1:]), domain_list))
            item['domain'] = list(
                map(lambda i: ''.join(list(map(lambda j: ' %s' % j.lower() if j.isupper() else j, i))),
                    without_dot))
        return item

Спасибо за помощь.

Изменен статус публикации
Добавить комментарий