Как работает Scrapy (Open Source Web Scraping Framework)? - PullRequest
0 голосов
/ 28 декабря 2018

Цитирование из Scrapy Официальная документация:

Scrapy поставляется с собственным механизмом извлечения данных.Их называют селекторами, потому что они «выбирают» определенные части документа HTML, указанные в выражениях XPath или CSS. Источник

После прочтения этого я все еще не уверен, работает ли Scrapy, непосредственно выбирая части документа HTML с помощью выражений XPath / CSS или выбирая узлы из дерева DOM, которыеотображается браузером?

Все еще не понимаете, одинаковы ли разбор DOM и разбор HTML ...

1 Ответ

0 голосов
/ 29 декабря 2018

После прочтения я все еще не уверен, работает ли Scrapy, непосредственно выбирая части документа HTML с помощью выражений XPath / CSS или выбирая узлы из дерева DOM, которое отображается браузером?

Наверняка первое, поскольку браузер определенно не задействованДаже часть «CSS» является просто синтетическим сахаром для части XPath - что можно увидеть, распечатав «в процессе» Selector:

>>> print(Selector(text="<html><div class='foo'></div></html>").css(".foo"))
[<Selector xpath="descendant-or-self::*[@class and contains(concat(' ', normalize-space(@class), ' '), ' foo ')]" data='<div class="foo"></div>'>]

Все еще не понимаете, работает ли DOM Parsing иРазбор HTML это то же самое или нет ...

Строго говоря, я считаю, что они разные.Например, lxml может анализировать HTML, но делает это по-своему и материализует дерево объектов, которое совместимо с xml.etree, а не с деревом DOM .Существует минимальная библиотека DOM , на которую html5lib может быть нацелен на , что примерно соответствует «тому, что будет создавать браузер»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...