Мой искатель будет работать иногда - сканирует и царапины, но иногда просто сканирует и не царапает что-либо без меня что-либо меняет код:/Я не понимаю. Код ошибки отсутствует. Это выглядит так, когда он не скрежет;Scraw crawler нестабилен, иногда работает иногда не будет
2017-02-05 23:52:00 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.amazon.com/s/srs=9187220011&rh=n%3A283155> (referer: None)
2017-02-05 23:52:00 [scrapy.core.engine] INFO: Closing spider (finished)
2017-02-05 23:52:00 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
{'downloader/request_bytes': 712,
'downloader/request_count': 2,
'downloader/request_method_count/GET': 2,
'downloader/response_bytes': 3964,
'downloader/response_count': 2,
'downloader/response_status_count/200': 2,
'finish_reason': 'finished',
'finish_time': datetime.datetime(2017, 2, 6, 5, 52, 0, 552000),
'log_count/DEBUG': 7,
'log_count/INFO': 7,
'log_count/WARNING': 1,
'response_received_count': 2,
'scheduler/dequeued': 1,
'scheduler/dequeued/memory': 1,
'scheduler/enqueued': 1,
'scheduler/enqueued/memory': 1,
'start_time': datetime.datetime(2017, 2, 6, 5, 51, 59, 328000)}
Я пытаюсь очистить этот сайт и поместить его в монгодб, используя трубопровод mongodb. Как и на самом деле работает, но когда-нибудь это не сработает, это довольно странно. Я думаю, что это может быть проблема с конвейером, но не уверен. Любые предложения? Как я могу проверить, что случилось. Я подключен к mongodb, как, как я делаю этот mongod работает
Это моя mongodbpipeline;
class MongoDBPipeline(object):
def __init__(self):
connection = pymongo.MongoClient(
settings['MONGODB_SERVER'],
settings['MONGODB_PORT']
)
db = connection[settings['MONGODB_DB']]
self.collection = db[settings['MONGODB_COLLECTION']]
def process_item(self, item, spider):
valid = True
for data in item:
if not data:
valid = False
raise DropItem("Missing {0}!".format(data))
if valid:
self.collection.insert(dict(item))
log.msg("link added to MongoDB database!",
level=log.DEBUG, spider=spider)
return item
Я уже пользуюсь прокси-серверами, у меня есть 5 отдельных прокси, и я случайно выбрал один для каждого запроса. Как я могу отслеживать URL-адреса, которые получили капчу? вроде бы есть, чтобы увидеть это в журнале. Спасибо –
RETRY_TIMES = 5 # Retry на большинстве кодов ошибок, так как прокси терпят неудачу по разным причинам RETRY_HTTP_CODES = [500, 503, 504, 400, 403, 404, 408] DOWNLOADER_MIDDLEWARES = { «scrapy.downloadermiddlewares.useragent. не UserAgentMiddleware ': None, 'scrapy_fake_useragent.middleware.RandomUserAgentMiddleware': 400, 'scrapy.downloadermiddlewares.retry.RetryMiddleware': 90, 'scrapy_proxies.RandomProxy': 100, 'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 110 , } PROXY_LIST = 'list.txt' –
Это один из http-кодов выше? Если я получаю один из тех, что я делаю, повторю, но я думаю, что у меня есть другой код –