1045
Чат создан чтобы делиться опытом о Scrapy/Python и другими парсинг технологиями. Вежливость и уважение к другим участникам группы. Троллинг не приветствуется. FAQ: https://github.com/bulatbulat48/ru-scrapy-python Работа: t.me/scrapy_jobs
А просто собрать со страницы все ссылки и random.choice выбрать 5шт не проще?
Читать полностью…
Привет, а если мне нужен кроулер который будет парсить рандомные 5 ссылок из каждой страницы, могу ли я сделать это в скрепи, на уровне какого нибудь бэйз класса ?
Читать полностью…
ну да, я же зачем-то это вам написал, вы ещё что-то на это ответить пытались
Читать полностью…
Daphne is a HTTP, HTTP2 and WebSocket protocol server for ASGI and ASGI-HTTP, developed to power Django Channels.
Читать полностью…
хочу по вебсокетам статус задачи отправлять и отображать в django приложении
Читать полностью…
Всем привет, кто нибудь знает как работать с сокетами? пытаюсь отправить сообщение, никак не получается
сигналы отрабатывают, но при отправке сообщений, то ошибки появляются, с синхронизацией, то бот виснет
def __init__(self, *args, **kwargs):Читать полностью…
super(MySpider, self).__init__(*args, **kwargs)
self.channel_layer = get_channel_layer()
@classmethod
def from_crawler(cls, crawler, *args, **kwargs):
spider = super(MySpider, cls).from_crawler(crawler, *args, **kwargs)
crawler.signals.connect(spider.spider_opened, signal=signals.spider_opened)
crawler.signals.connect(spider.spider_closed, signal=signals.spider_closed)
return spider
def spider_opened(self, spider):
self.log(f'Spider {spider.name} opened')
self.send_status('Crawling started')
def spider_closed(self, spider):
self.log(f'Spider {spider.name} closed')
self.send_status('Crawling finished')
def send_status(self, status):
self.channel_layer.group_send(
'scrapy_status', {
'type': 'send_status',
'status': f'{status} for {self.name}'
}
)
@Princess_idk11, пожалуйста, нажмите на кнопку ниже в течение указанного времени, иначе вы будете кикнуты. Спасибо! (60 сек)
При поддержке 1inch
мб есть альтернатива телетону, что бы не было выбросов
Читать полностью…
К теме чата вообще не относится.
Перечисленные библиотеки подойдут не для обучения а для работы. Каких то специальных "обучающих" библиотек для тг наверное и нет, какой смысл?
Телетон только чудит вроде, может выкидывать из всех сеансов при авторизации через него. Хотя может пофиксили уже...
От CrawlSpider в этой задаче плюсов никаких, но вам решать
Читать полностью…
Ну, кроулер вроде сам ходит по ссылкам. Я мог бы это сделать на основе обычного паука.
Читать полностью…
мидлварь можно сделать которая остальные ссылки выкинет
Читать полностью…
Webscraping, Google maps scraping available. Dm if you want scrape any data from web.
Читать полностью…
asgi.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'starky.settings')
application = ProtocolTypeRouter({
'http': get_asgi_application(),
'websocket': AuthMiddlewareStack(
URLRouter(
spider_manager.routing.websocket_urlpatterns
)
),
})ASGI_APPLICATION = 'starky.asgi.application'
CHANNEL_LAYERS = {
'default': {
'BACKEND': 'channels.layers.InMemoryChannelLayer',
},
}
websocket_urlpatterns = [
path(r'status', StatusConsumer.as_asgi()),
]
const socket = new WebSocket('ws://' + window.location.host + '/status');
socket.onmessage = function(e) {
const data = JSON.parse(e.data);
resultDiv.textContent = `Status: ${data.status}`;
};
я думаю вам надо выкинуть вашу синхронную библиотеку и взять асинхронную
Читать полностью…
✅Cpoчнo uщy 2 - 3 чeлoвeкa uз любoй тoчкu мupa
✅Cтaбuльный дoxoд oт 70USD в дeнь.
Возраст от 18 лет.
✅Bыпoлнять пpocтыe зaдaнuя c тeлeфoнa.
Быть гoтoвым yчuтьcя нoвoмy.
✅Пoлyчaeтe пpoфuт c пepвoгo дня
✅Oтcyтcтвue oпытa нe пpoблeмa, вceмy oбyчy, oбъяcню.
Узнaть бoльшe uнфopмaцuu мoжнo тyт ➡️@RabotaDmitr
Елена Васильева, пожалуйста, нажмите на кнопку ниже в течение указанного времени, иначе вы будете кикнуты. Спасибо! (60 сек)
При поддержке 1inch
Чём другие указанные в первом сообщении не нравятся? Кроме телетона там ещё две указаны.
Читать полностью…