Уведомления

Группа в Telegram: @pythonsu

#1 Март 31, 2014 09:34:37

Razor
Зарегистрирован: 2012-09-11
Сообщения: 127
Репутация: +  2  -
Профиль   Отправить e-mail  

Scrapy: Работает на localhost Windows, но не работает на сервере Ubuntu

Здравствуйте.

Возникла проблема: Написал скрипт, который отлично без сбоев работает на Windows (local), но при переезде на сервер скрипт ничего не записывает ни в базу, ни в csv. И главное - он молчит. Никаких ошибок.

Суть работы скрипта: скрипт выгружает из URL собсна url и проверяет их на индексируемость в Google с использованием случайного прокси и случайного user-agent. Потом сохраняет все в базу, в csv файл и делает небольшой отчет после n страниц.

Весь проект: https://www.dropbox.com/sh/h03rcy7dboeoev8/LuBJxTLdR6

Код: https://www.dropbox.com/s/y95e2v6rztbxa1c/google_search.py

Догадки и попытки решения: понятно, что проблема скорее всего в установленных модулях, но все переставлял - ноль эмоций.

Офлайн

#2 Апрель 1, 2014 08:10:08

PanovSergey
От: Екатеринбург
Зарегистрирован: 2013-12-29
Сообщения: 269
Репутация: +  19  -
Профиль   Адрес электронной почты  

Scrapy: Работает на localhost Windows, но не работает на сервере Ubuntu

from peewee import *
import peewee
ай ай плохой код линейка рука надо.

В мейн принты ставьте. Разбирайтесь до какого момента код работает.

Офлайн

#3 Апрель 1, 2014 15:54:25

Razor
Зарегистрирован: 2012-09-11
Сообщения: 127
Репутация: +  2  -
Профиль   Отправить e-mail  

Scrapy: Работает на localhost Windows, но не работает на сервере Ubuntu

PanovSergey
from peewee import *
import peewee
ай ай плохой код линейка рука надо.

Без “from peewee import *” не импортируется база данных, а без import peewee придется прописывать огромную кучу значений. Прежде, чем делать подобные замечания, сначала оцените значимость ваших замечаний. Играть на публику - не самая лучшая помощь человеку, который в ней нуждается.

Насчет print - уже писал, проблема была в Request (не отправляло дальше). Думаю, что прокси, но не уверен.

Отредактировано Razor (Апрель 1, 2014 15:58:24)

Офлайн

#4 Апрель 1, 2014 16:22:16

PanovSergey
От: Екатеринбург
Зарегистрирован: 2013-12-29
Сообщения: 269
Репутация: +  19  -
Профиль   Адрес электронной почты  

Scrapy: Работает на localhost Windows, но не работает на сервере Ubuntu

Razor
Без “from peewee import *” не импортируется база данных, а без import peewee придется прописывать огромную кучу значений. Прежде, чем делать подобные замечания, сначала оцените значимость ваших замечаний. Играть на публику - не самая лучшая помощь человеку, который в ней нуждается.
class Google(peewee.Model): 
id = CharField(primary_key=True)
url = peewee.TextField()
value = peewee.CharField(max_length=4)
то есть это нормально ? Эх не огребали вы ошибок когда один модуль дважды в память загружается. Если я пишу что так плохо то не из вредности, а потому что это приводит ко всяким нехорошим ошибкам. Не надо пользоваться wild import без особой необходимости, а если уж используете не надо еще отдельно модуль загружать.

Офлайн

#5 Апрель 1, 2014 16:40:48

Razor
Зарегистрирован: 2012-09-11
Сообщения: 127
Репутация: +  2  -
Профиль   Отправить e-mail  

Scrapy: Работает на localhost Windows, но не работает на сервере Ubuntu

PanovSergey
то есть это нормально ? Эх не огребали вы ошибок когда один модуль дважды в память загружается. Если я пишу что так плохо то не из вредности, а потому что это приводит ко всяким нехорошим ошибкам. Не надо пользоваться wild import без особой необходимости, а если уж используете не надо еще отдельно модуль загружать.

Грамотно именованные переменные, наличие проверки в PyCharm одинаковых имен в модулях - наше все.

Офлайн

#6 Апрель 1, 2014 17:11:09

PanovSergey
От: Екатеринбург
Зарегистрирован: 2013-12-29
Сообщения: 269
Репутация: +  19  -
Профиль   Адрес электронной почты  

Scrapy: Работает на localhost Windows, но не работает на сервере Ubuntu

Razor
Грамотно именованные переменные, наличие проверки в PyCharm одинаковых имен в модулях - наше все.
Я конечно не эксперт по PyCharm, но он наверняка дальше одного уровня вложенности не видит. Модуль а импортирует модуль б в который импортирует с в котором есть совпадение по имени с а. Хрен отловишь такую ошибку. Импортируйте явно это всегда лучше. А еще есть такие приколы например вы используете точку расширения которая подключается при импорте модуля, но какой то умник в другом куске кода импортирует тот же модуль по другому пути в результате модуль загружается два раза соответственно расширение зарегистрируется два раза. Хотя.. пока сами не огребете не узнаете Поверьте на слово проще сразу перебдеть чем потом разгребать.

Отредактировано PanovSergey (Апрель 1, 2014 17:13:40)

Офлайн

#7 Апрель 1, 2014 18:01:10

Razor
Зарегистрирован: 2012-09-11
Сообщения: 127
Репутация: +  2  -
Профиль   Отправить e-mail  

Scrapy: Работает на localhost Windows, но не работает на сервере Ubuntu

PanovSergey
Я конечно не эксперт по PyCharm, но он наверняка дальше одного уровня вложенности не видит. Модуль а импортирует модуль б в который импортирует с в котором есть совпадение по имени с а. Хрен отловишь такую ошибку. Импортируйте явно это всегда лучше. А еще есть такие приколы например вы используете точку расширения которая подключается при импорте модуля, но какой то умник в другом куске кода импортирует тот же модуль по другому пути в результате модуль загружается два раза соответственно расширение зарегистрируется два раза. Хотя.. пока сами не огребете не узнаете Поверьте на слово проще сразу перебдеть чем потом разгребать.

Вообще, в PyCharm проверка идет по всем модулям, но ваша идеология мне понятна и я несомненно с ней согласен. Обычно я всегда указываю классы и функции при импорте, но иногда это не сильно помогает (PyCharm при импорте всего модуля подсказывает, какие функции есть в модуле и с ними можно поиграться).

В любом случае, по теме никакого прогресса)

Офлайн

#8 Апрель 1, 2014 18:37:22

PanovSergey
От: Екатеринбург
Зарегистрирован: 2013-12-29
Сообщения: 269
Репутация: +  19  -
Профиль   Адрес электронной почты  

Scrapy: Работает на localhost Windows, но не работает на сервере Ubuntu

Razor
В любом случае, по теме никакого прогресса)
странно что никто не подтянулся, завтра запущу ваш код, там видно будет

Офлайн

#9 Апрель 14, 2014 22:51:24

segey
Зарегистрирован: 2014-04-14
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Scrapy: Работает на localhost Windows, но не работает на сервере Ubuntu

#!/usr/bin/env python
# *-* coding: utf-8 *-* 
  
from scrapy.selector import Selector 
from scrapy.http import Request 
from scrapy.spider import Spider 
"......"

Офлайн

#10 Апрель 16, 2014 20:40:37

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

Scrapy: Работает на localhost Windows, но не работает на сервере Ubuntu

> Возникла проблема: Написал скрипт, который отлично без сбоев работает на Windows (local), но при переезде на сервер скрипт ничего не записывает ни в базу, ни в csv. И главное - он молчит. Никаких ошибок.

Решение стандартное: разбираем программу дебагером с самого начала и ищем где она лажает. Можно ещё натыкать принтов в программу и в сорцы scrapy

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version