Я использую scrapy для того, чтобы развернуть весь сайт (allow_domains = mydomain.com). Теперь я хочу получить все внешние ссылки (в другие домены) с текущего URL-адреса. Как я могу интегрировать это в свой spider.py, чтобы получить список со всеми внешними URL-адресами?Scrapy получить все внешние ссылки URL-адреса
ответ
Попробуйте использовать Link Extractors. Это может быть пример:
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.item import Item, Field
class MyItem(Item):
url= Field()
class MySpider(CrawlSpider):
name = 'twitter.com'
allowed_domains = ['my-domain.com']
start_urls = ['http://www.my-domain.com']
rules = (Rule(SgmlLinkExtractor(), callback='parse_url', follow=False),)
def parse_url(self, response):
item = MyItem()
item['url'] = response.url
return item
Хорошо, я уже использую SgmlLinkExtractor. Я думал, что есть еще одна утилита с Scrapy, чтобы получить внешние ссылки очень просто. Тогда я попробую его с xpath() – user3507915
Всегда есть разные способы. Вы можете использовать xpath, чтобы получить все 'a/@ href' со страницы и проанализировать их некоторыми библиотеками, такими как' urlparse', чтобы извлечь домен и сравнить его с текущим доменом. это может быть примером (http://stackoverflow.com/questions/26998433/using-scrapy-to-extract-xhr-request/27000903#27000903) –
В моем мышлении есть проблема. Я хочу только href = "x" с внешней целью. (Http://www.otherdomain.com). Но как я могу проверить их с относительными URL-адресами, если в атрибуте href нет домена? Есть идеи? – user3507915
- 1. .sln - все внешние ссылки там
- 2. Scrapy: хранить нарушенные внешние ссылки и отбрасывать остальное
- 3. Scrapy XPath все ссылки на странице
- 4. Включает ли Scrapy все ссылки с правилами?
- 5. Oracle все ссылки на внешние ключи
- 6. Открыть все внешние ссылки в новом окне
- 7. Измените все внешние ссылки с помощью jQuery
- 8. Я получаю все якорные ссылки вместо конкретной ссылки в scrapy
- 9. Scrapy - получить несколько адресов из одного ссылки
- 10. Scrapy ползать извлеченный ссылки
- 11. Перекрестные ссылки и внешние ссылки
- 12. PHP найти внешние ссылки и получить данные
- 13. Внутренние и внешние ссылки
- 14. Внешние ссылки Joomla
- 15. Cordova 6.0 Внешние ссылки
- 16. Внешние ссылки в VisualSVNServer
- 17. Внешние ссылки KendoUI
- 18. Внешние ссылки не сканируются
- 19. WebView и внешние ссылки
- 20. Cycle2 внешние ссылки
- 21. Redirect All Внешние ссылки
- 22. scrapy не следующие ссылки
- 23. Scrapy, используйте только внутренние URL-адреса, но извлекайте все найденные ссылки
- 24. SCRAPY не может сканировать все ссылки на страницы
- 25. tsconfig.json и внешние ссылки
- 26. Внешние ссылки с ECM?
- 27. Fullcalendar - Внешние ссылки
- 28. Внешние ссылки Opencart
- 29. .htaccess RewriteCond внешние ссылки
- 30. JQuery внешние ссылки класс
Что вы понимаете, получив все внешние ссылки? все теги, которые перенаправляются в другой домен? –
Я просто хочу, чтобы все [sometext] из текущего URL-адреса, который я обрабатываю. Я использую это Правило атм: правила = ( \t \t Правила (SgmlLinkExtractor(), обратный вызов = 'get_domain_data', следует = True), \t) – user3507915
Какова проблема использования Scrapy ссылка экстрактора? –