Как сканировать веб-сайт или извлекать данные в базу данных с помощью python?

Я хотел бы создать webapp, чтобы помочь другим студентам моего университета создать свои графики. Для этого мне нужно просканировать основные расписания (одну огромную страницу html), а также ссылку на подробное описание каждого курса в базу данных, предпочтительно на python. Кроме того, мне нужно войти в систему, чтобы получить доступ к данным.

  • Как это будет работать?
  • Какие инструменты / библиотеки можно использовать / использовать?
  • Есть ли хорошие учебники по этому поводу?
  • Как лучше всего иметь дело с двоичными данными (например, довольно pdf)?
  • Есть ли для этого хорошие решения?

4 Solutions collect form web for “Как сканировать веб-сайт или извлекать данные в базу данных с помощью python?”

  • requests на загрузку страниц.
  • lxml для очистки данных.

Если вы хотите использовать мощную фреймворк, то Scrapy . В нем есть также хорошая документация. В зависимости от вашей задачи это может быть немного переполнено.

Scrapy , вероятно, является лучшей библиотекой Python для сканирования. Он может поддерживать состояние для аутентифицированных сеансов.

Работа с двоичными данными следует обрабатывать отдельно. Для каждого типа файла вам придется обрабатывать его по-разному в соответствии с вашей собственной логикой. Для практически любого формата вы, вероятно, сможете найти библиотеку. Например, посмотрите на PyPDF для обработки PDF-файлов. Для файлов excel вы можете попробовать xlrd.

Мне понравилось использовать BeatifulSoup для извлечения html-данных

Это так просто:

 from BeautifulSoup import BeautifulSoup import urllib ur = urllib.urlopen("http://pragprog.com/podcasts/feed.rss") soup = BeautifulSoup(ur.read()) items = soup.findAll('item') urls = [item.enclosure['url'] for item in items] 

Для этого есть очень полезный инструмент, называемый web-harvest Link на их веб-сайт http://web-harvest.sourceforge.net/ Я использую это для сканирования веб-страниц

  • Python Scrapy для автономных (локальных) данных
  • Создание родового спайдера
  • Каковы наилучшие готовые библиотеки для выполнения веб-сканирования в Python
  • Как сканировать данные с связанных веб-страниц на веб-странице, которую мы сканируем
  • Может ли Scrapy заменить на pyspider?
  • Требуется помощь в отладке веб-искателя Python
  • Ограничение глубины набора инструментов для разрешенного_домена
  • Выдержка из динамического ответа JSON с помощью Scrapy
  • Python - лучший язык программирования в мире.