Size: a a a

2020 August 10

МС

Михаил Синегубов... in Scrapy
Dr. Bot
скрапи так далеко вперед убежал, что не знаю есть ли вообще смысл кому-то за ним гнаться?
ну, всегда можно придумать что то полезное, или велосипед. Это уж как повезет :)))
источник

A

Andrii in Scrapy
def start_requests(self):
       script = """function main(splash)
       local num_scrolls = 10
       local scroll_delay = 1

       local scroll_to = splash:jsfunc("window.scrollTo")
       local get_body_height = splash:jsfunc(
           "function() {return document.body.scrollHeight;}"
       )
       assert(splash:go(splash.args.url))
       splash:wait(splash.args.wait)

       for _ = 1, num_scrolls do
           local height = get_body_height()
           for i = 1, 10 do
               scroll_to(0, height * i/10)
               splash:wait(scroll_delay/10)
           end
       end        
       return splash:html()
       end"""
есть такой скролер, меняю   local num_scrolls = на 20
-30-40 и ошибка (failed 1 times): 504 Gateway Time-out
источник

МС

Михаил Синегубов... in Scrapy
504 Gateway Time-out
1. сайт "ложится"
2. тебя банят

это как варианты
источник

A

Andrii in Scrapy
Михаил Синегубов
504 Gateway Time-out
1. сайт "ложится"
2. тебя банят

это как варианты
ну 15 работает, 18 уже нет :\
источник

МС

Михаил Синегубов... in Scrapy
а если руками такое сделать?
источник

A

Andrii in Scrapy
все ок
источник

A

Andrii in Scrapy
там 100+ страниц, зажал енд и вперед
источник

МС

Михаил Синегубов... in Scrapy
дай сайт, что там на нем страшного...
источник

A

Andrii in Scrapy
источник

S

S in Scrapy
Всем доброго дня ! Очень рассчитываю на вашу помощь, ДУМАЮ ПРОФЕССИОНАЛАМ ВАШЕГО УРОВНЯ НЕ СОСТАВИТ ТРУДА МНЕ ПОМОЧЬ !

Уже минимум 2 недели бьюсь над проблеммой с :

2020-08-10 06:45:47 [scrapy.core.engine] INFO: Spider opened
2020-08-10 06:45:47 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2020-08-10 06:45:47 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6024
2020-08-10 06:45:49 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://maxi.az/telefonlar-ve-plansetler/telefonlar/smartfonlar/xiaomi-redmi-9a-2gb-32gb-green/> (referer: None)
2020-08-10 06:45:50 [scrapy.core.scraper] ERROR: Spider error processing <GET https://maxi.az/telefonlar-ve-plansetler/telefonlar/smartfonlar/xiaomi-redmi-9a-2gb-32gb-green/> (referer: None)
Traceback (most recent call last):
 File "C:\Users\751\anaconda3\lib\site-packages\twisted\internet\defer.py", line 654, in _runCallbacks
   current.result = callback(current.result, *args, **kw)
 File "C:\Users\751\anaconda3\lib\site-packages\scrapy\spiders\__init__.py", line 90, in parse
   raise NotImplementedError('{}.parse callback is not defined'.format(self.__class__.__name__))
NotImplementedError: MaxiazbotSpider.parse callback is not defined
2020-08-10 06:45:50 [scrapy.core.engine] INFO: Closing spider (finished)

Я только начинаю осваивать питон и скрапи , но уже методом проб и ошибок спарсил несколько десятков сайтов ) на некоторых сайтах встречается этот злосчастный callback , подскажите пожалуйста как с ним бороться ?!?
Пауки у меня самые примитивные с минимум кода , всего то спарсить адресс URL, наименование и цену товара(

Перечитал всё что только можно по теме , перебирал и разбирал готовые примеры кода других пауков и т д , но никаких результатов (

В более стандартных/рабочих ситуациях код моего паука выглядит как , подскажите пожалуйста что нужно подправить чтобы решить проблему с callback

import scrapy
from ..items import MaxiAzItem

class MaxiazbotSpider(scrapy.Spider):
   name = 'maxiazbot'
   allowed_domains = ['maxi.az']
   start_urls = ['https://maxi.az/telefonlar-ve-plansetler/smart-saat-ve-aksesuarlar/smart-saat/xiaomi-mi-band-4-black/']


def parse(self,response):
for content in response.xpath('//*[contains(concat( " ", @class, " " ), concat( " ", "wrap", " " ))]'):
 yield {
     'url': response.url,
           'product_name': response.xpath('//h1/text()').extract_first(),
           'price': response.xpath('//*[@id="fix-info"]/div[5]/div[1]/text()').extract_first()
           }
источник

S

SoHard 🎄 in Scrapy
S
Всем доброго дня ! Очень рассчитываю на вашу помощь, ДУМАЮ ПРОФЕССИОНАЛАМ ВАШЕГО УРОВНЯ НЕ СОСТАВИТ ТРУДА МНЕ ПОМОЧЬ !

Уже минимум 2 недели бьюсь над проблеммой с :

2020-08-10 06:45:47 [scrapy.core.engine] INFO: Spider opened
2020-08-10 06:45:47 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2020-08-10 06:45:47 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6024
2020-08-10 06:45:49 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://maxi.az/telefonlar-ve-plansetler/telefonlar/smartfonlar/xiaomi-redmi-9a-2gb-32gb-green/> (referer: None)
2020-08-10 06:45:50 [scrapy.core.scraper] ERROR: Spider error processing <GET https://maxi.az/telefonlar-ve-plansetler/telefonlar/smartfonlar/xiaomi-redmi-9a-2gb-32gb-green/> (referer: None)
Traceback (most recent call last):
 File "C:\Users\751\anaconda3\lib\site-packages\twisted\internet\defer.py", line 654, in _runCallbacks
   current.result = callback(current.result, *args, **kw)
 File "C:\Users\751\anaconda3\lib\site-packages\scrapy\spiders\__init__.py", line 90, in parse
   raise NotImplementedError('{}.parse callback is not defined'.format(self.__class__.__name__))
NotImplementedError: MaxiazbotSpider.parse callback is not defined
2020-08-10 06:45:50 [scrapy.core.engine] INFO: Closing spider (finished)

Я только начинаю осваивать питон и скрапи , но уже методом проб и ошибок спарсил несколько десятков сайтов ) на некоторых сайтах встречается этот злосчастный callback , подскажите пожалуйста как с ним бороться ?!?
Пауки у меня самые примитивные с минимум кода , всего то спарсить адресс URL, наименование и цену товара(

Перечитал всё что только можно по теме , перебирал и разбирал готовые примеры кода других пауков и т д , но никаких результатов (

В более стандартных/рабочих ситуациях код моего паука выглядит как , подскажите пожалуйста что нужно подправить чтобы решить проблему с callback

import scrapy
from ..items import MaxiAzItem

class MaxiazbotSpider(scrapy.Spider):
   name = 'maxiazbot'
   allowed_domains = ['maxi.az']
   start_urls = ['https://maxi.az/telefonlar-ve-plansetler/smart-saat-ve-aksesuarlar/smart-saat/xiaomi-mi-band-4-black/']


def parse(self,response):
for content in response.xpath('//*[contains(concat( " ", @class, " " ), concat( " ", "wrap", " " ))]'):
 yield {
     'url': response.url,
           'product_name': response.xpath('//h1/text()').extract_first(),
           'price': response.xpath('//*[@id="fix-info"]/div[5]/div[1]/text()').extract_first()
           }
У тебя не объявлен колбэк
источник

A

Andrii in Scrapy
Михаил Синегубов
504 Gateway Time-out
1. сайт "ложится"
2. тебя банят

это как варианты
504 error ето давал сплеш, по дефолту у него 30 сек на рендеринг страниц. Полечил (правда только веб интерфейс) так docker run -p 8050:8050 scrapinghub/splash --max-timeout 3600.
источник

МС

Михаил Синегубов... in Scrapy
Andrii
504 error ето давал сплеш, по дефолту у него 30 сек на рендеринг страниц. Полечил (правда только веб интерфейс) так docker run -p 8050:8050 scrapinghub/splash --max-timeout 3600.
угу, только я не понял, нафига тебе тут сплеш... ну да ладно :)
источник

S

S in Scrapy
Приветствую , да я это уже понял ) как и куда его правильно прописать подскажите пожалуйста )
источник

A

Andrii in Scrapy
Михаил Синегубов
угу, только я не понял, нафига тебе тут сплеш... ну да ладно :)
а) научиться сплешем работать, б) впадло с куки играть
источник

МС

Михаил Синегубов... in Scrapy
Andrii
а) научиться сплешем работать, б) впадло с куки играть
вариант 😂
источник

AR

Andrey Rahmatullin in Scrapy
S
Всем доброго дня ! Очень рассчитываю на вашу помощь, ДУМАЮ ПРОФЕССИОНАЛАМ ВАШЕГО УРОВНЯ НЕ СОСТАВИТ ТРУДА МНЕ ПОМОЧЬ !

Уже минимум 2 недели бьюсь над проблеммой с :

2020-08-10 06:45:47 [scrapy.core.engine] INFO: Spider opened
2020-08-10 06:45:47 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2020-08-10 06:45:47 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6024
2020-08-10 06:45:49 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://maxi.az/telefonlar-ve-plansetler/telefonlar/smartfonlar/xiaomi-redmi-9a-2gb-32gb-green/> (referer: None)
2020-08-10 06:45:50 [scrapy.core.scraper] ERROR: Spider error processing <GET https://maxi.az/telefonlar-ve-plansetler/telefonlar/smartfonlar/xiaomi-redmi-9a-2gb-32gb-green/> (referer: None)
Traceback (most recent call last):
 File "C:\Users\751\anaconda3\lib\site-packages\twisted\internet\defer.py", line 654, in _runCallbacks
   current.result = callback(current.result, *args, **kw)
 File "C:\Users\751\anaconda3\lib\site-packages\scrapy\spiders\__init__.py", line 90, in parse
   raise NotImplementedError('{}.parse callback is not defined'.format(self.__class__.__name__))
NotImplementedError: MaxiazbotSpider.parse callback is not defined
2020-08-10 06:45:50 [scrapy.core.engine] INFO: Closing spider (finished)

Я только начинаю осваивать питон и скрапи , но уже методом проб и ошибок спарсил несколько десятков сайтов ) на некоторых сайтах встречается этот злосчастный callback , подскажите пожалуйста как с ним бороться ?!?
Пауки у меня самые примитивные с минимум кода , всего то спарсить адресс URL, наименование и цену товара(

Перечитал всё что только можно по теме , перебирал и разбирал готовые примеры кода других пауков и т д , но никаких результатов (

В более стандартных/рабочих ситуациях код моего паука выглядит как , подскажите пожалуйста что нужно подправить чтобы решить проблему с callback

import scrapy
from ..items import MaxiAzItem

class MaxiazbotSpider(scrapy.Spider):
   name = 'maxiazbot'
   allowed_domains = ['maxi.az']
   start_urls = ['https://maxi.az/telefonlar-ve-plansetler/smart-saat-ve-aksesuarlar/smart-saat/xiaomi-mi-band-4-black/']


def parse(self,response):
for content in response.xpath('//*[contains(concat( " ", @class, " " ), concat( " ", "wrap", " " ))]'):
 yield {
     'url': response.url,
           'product_name': response.xpath('//h1/text()').extract_first(),
           'price': response.xpath('//*[@id="fix-info"]/div[5]/div[1]/text()').extract_first()
           }
отступы в питоне важны.
источник

S

SoHard 🎄 in Scrapy
S
Приветствую , да я это уже понял ) как и куда его правильно прописать подскажите пожалуйста )
Тут надо видеть код и подучить питон
источник

S

SoHard 🎄 in Scrapy
источник

S

SoHard 🎄 in Scrapy
Код сюда кидай
источник