Лучший способ для новичка выучить экран с экраном от Python

StackOverflow https://stackoverflow.com/questions/4328271

Вопрос

Это может быть один из тех вопросов, на которые трудно ответить, но здесь идет:

Я не считаю своего самопрограммиста - но я хотел бы :-) Я узнал 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top