Лучший способ для новичка выучить экран с экраном от Python
-
29-09-2019 - |
Вопрос
Это может быть один из тех вопросов, на которые трудно ответить, но здесь идет:
Я не считаю своего самопрограммиста - но я хотел бы :-) Я узнал R, потому что мне было надоело от SPSS, и потому что друг познакомил меня с языком - так что я не очень незнакомец Логика программирования.
Теперь я хотел бы выучить Python - в первую очередь, чтобы выполнить экран с экраном и анализ текста, а также для написания веб -приложений с помощью Pylons или Django.
Итак: как мне учиться на скрининг с питоном? Я начал проходить через Scrappy Docs Но я чувствую, что происходит много "магии" - в конце концов - я пытаюсь учиться, а не просто делать.
С другой стороны: нет причин переосмыслить колесо, и если скрара предназначена для скрининга, что Джанго для веб -страниц, то, в конце концов, можно было бы прыгнуть прямо на скрапу. Что вы думаете?
О, кстати: вид экрана: я хочу соскрести газетные сайты (то есть довольно сложные и большие) для упоминаний о политиках и т. Д. - это означает, что мне нужно будет понадобиться ежедневно, постепенно и рекурсивно - и мне нужно записать результаты в своего рода базу данных, которая приведет меня к бонусному вопросу: все говорят о DSQL DB. Должен ли я научиться использовать EG MongoDB сразу (я не думаю, что мне нужна сильная последовательность), или это глупо для того, что я хочу сделать?
Спасибо за любые мысли - и я прошу прощения, если это генерал, чтобы считаться вопросом программирования.
Решение
Я согласен с тем, что скребки дают это впечатление. Но, как я обнаружил для себя, я считаю, что если вы терпеливы от Scrapy, и сначала проходите учебники, а затем похоронете себя в остальную часть документации, вы не только начнете понимать различные части для скраски лучше , но вы оцените, почему он делает то, что он делает так, как это делает. Это структура для написания пауков и скрапперов экрана в реальном смысле структуры. Вам все равно придется изучать XPath, но я обнаружил, что лучше узнать его независимо. В конце концов, вы намерены очистить веб -сайты, и понимание того, что такое XPath и как это работает, только облегчит вам ситуацию.
Как только вы, например, поняли концепцию pipelines
В Scrapy вы сможете оценить, насколько легко делать всевозможные вещи с помощью сбитых предметов, включая их в базу данных.
BeautifulSoup
это замечательная библиотека Python, которую можно использовать для очистки веб -сайтов. Но, в отличие от скраски, это ни в коем случае не является основой. Для небольших проектов, где вам не нужно тратить время в написание надлежащего паука и приходится иметь дело с отказанием от хорошего количества данных, вы можете обойтись с BeautifulSoup. Но для всего остального вы только начнете ценить то, что обеспечивает скрара.
Другие советы
Похоже, Scrappy использует XPath для Dom Traversal, который является самого языка и может чувствовать себя несколько загадочным в течение некоторого времени. Я думаю, что BeautifulSoup даст вам более быстрое начало. С LXML вам придется инвестировать больше времени на обучение, но это обычно считается (не только мной) лучшей альтернативой BeautifulSoup.
Для базы данных я бы посоветовал вам начать с SQLite и использовать ее, пока вы не попадете в стену и не понадобится что -то более масштабируемое (что может никогда не произойти, в зависимости от того, как далеко вы хотите пойти с этим), в этот момент вы узнаете, какой вид хранения вам нужно. На данный момент MongoDB определенно является избыточным, но SQL - очень полезный навык.
Вот пример из пяти строк, который я дал некоторое время назад, чтобы проиллюстрировать HOE BeautifulSoup.Какой язык лучше всего написать веб -бота?
Мне очень нравится BeautifulSoup. Я довольно новичок в Python, но мне было довольно легко запустить экран. Я написал краткий учебник на Скраинг экрана с красивым супом. Анкет Я надеюсь, что это помогает.
В соответствии с частью базы данных, используйте правильный инструмент для работы. Выясните, что вы хотите сделать, как вы хотите организовать свои данные, какой доступ вам нужен и т. Д. Затем решите, работает ли решение без SQL для вашего проекта.
Я думаю, что нет решения SQL, чтобы остаться для различных приложений. Мы реализовали их в различных проектах, над которыми я работал за последние 20 лет в базах данных SQL, не назвав их без SQL, поэтому существуют приложения. Так что стоит, по крайней мере, получить некоторое представление о том, что они предлагают и какие продукты работают на сегодняшний день.
Хорошо спроектируйте свой проект и сохраните слой настойчивости отдельными, и вы сможете изменить решение базы данных только с незначительной душевной болью, если вы решите, что это необходимо.
Я рекомендую начать более низкий уровень во время обучения - Scrapy - это структура высокого уровня. Прочтите хорошую книгу Python как Погрузитесь в Python Затем посмотрите на LXML Для анализа HTML.
Прежде чем погрузиться в скрапу, принять введение Udacity в информатику: https://www.udacity.com/course/cs101
Это отличный способ ознакомиться с Python, и вы на самом деле будете изучать скрарию быстрее, когда у вас есть базовые знания о Python.