Jak uzyskać dostęp do określonego start_url w Scrapy CrawlSpider?

Używam Scrapy, w szczególności ScrapyCrawlSpider klasa do zeskrobywania linków internetowych zawierających określone słowa kluczowe. Mam dość długistart_urls lista, która pobiera swoje wpisy z bazy danych SQLite, która jest połączona z projektem Django. Chcę zapisać zeskrobane łącza internetowe w tej bazie danych.

Mam dwa modele Django, jeden dla początkowych adresów URL, takich jakhttp://example.com i jeden dla zeskrobanych linków internetowych, takich jakhttp://example.com/website1, http://example.com/website2 itd. Wszystkie zeskrobane łącza internetowe są podstronami jednego z początkowych adresów URL wstart_urls lista.

Model łączy internetowych ma relację wiele do jednego do początkowego modelu url, tzn. Model łączy internetowych zawiera klucz obcy do modelu początkowego adresów URL. Aby poprawnie zapisać zeskrobane linki do bazy danych, muszę powiedziećCrawlSpiderjestparse_item() metoda, która uruchamia url, do której należy zeskrobane łącze internetowe. Jak mogę to zrobić? ScrapyDjangoItem klasa nie pomaga w tym zakresie, ponieważ nadal muszę jawnie zdefiniować używany startowy URL.

Innymi słowy, jak mogę przekazać aktualnie używany początkowy adres URL doparse_item() metodę, dzięki której mogę zapisać ją razem z odpowiednimi zeskrobanymi linkami do bazy danych? Jakieś pomysły? Z góry dziękuję!

questionAnswers(3)

yourAnswerToTheQuestion