Как получить доступ к определенному start_url в Scrapy CrawlSpider?Python

Программы на Python
Ответить
Anonymous
 Как получить доступ к определенному start_url в Scrapy CrawlSpider?

Сообщение Anonymous »

Я использую Scrapy, в частности класс Scrapy CrawlSpider, для очистки веб-ссылок, содержащих определенные ключевые слова. У меня довольно длинный список start_urls, записи которого берутся из базы данных SQLite, подключенной к проекту Django. Я хочу сохранить очищенные веб-ссылки в этой базе данных.

У меня есть две модели Django: одна для начальных URL-адресов, таких как http://example.com, и одна для очищенных веб-ссылок, таких как http://example.com/website1, http://example.com/website2 и т. д. Все очищенные веб-ссылки являются дочерними сайтами одного из начальных URL-адресов в start_urls list.

Модель веб-ссылок имеет отношение «многие к одному» к модели начального URL-адреса, т. е. модель веб-ссылок имеет внешний ключ к модели начальных URL-адресов. Чтобы правильно сохранить скопированные веб-ссылки в базе данных, мне нужно сообщить методу parse_item() CrawlSpider, к какому начальному URL принадлежит скопированная веб-ссылка. Как я могу это сделать? Класс DjangoItem Scrapy не помогает в этом отношении, поскольку мне все еще нужно явно определить используемый начальный URL-адрес.

Другими словами, как я могу передать текущий используемый начальный URL-адрес методу parse_item(), чтобы я мог сохранить его вместе с соответствующими очищенными веб-ссылками в базе данных? Есть идеи? Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/105 ... rawlspider
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»