Кто-либо знает хорошего основанного на Python поискового робота, что я мог использовать?

, если вы хотите, чтобы исходное тело было независимо от типа содержимого, вы должны использовать request.get_data(), потому что request.form преобразуется в формат werkzeug.ImmutableMultiDict.

67
задан Tobu 21 December 2010 в 03:04
поделиться

6 ответов

  • Механизируют , мой фаворит; большие высокоуровневые возможности просмотра (суперпростое заполнение формы и представление).
  • Твил является простым языком сценариев, созданным сверху, Механизируют
  • BeautifulSoup + , urllib2 также работает вполне приятно.
  • Scrapy похож на чрезвычайно перспективный проект; это является новым.
56
ответ дан RexE 24 November 2019 в 14:38
поделиться

Используйте Scrapy.

Это - скрученный - базирующаяся платформа поискового робота. Все еще при тяжелой разработке, но это уже работает. Имеет многих положительных героев:

  • Встроенная поддержка парсинга HTML, XML, CSV и Javascript
  • медиа А конвейерно обрабатывают для очистки объектов с изображениями (или любые другие медиа) и загружают файлы изображений также
  • Поддержка расширения Scrapy путем включения собственной функциональности с помощью промежуточного программного обеспечения, расширений и конвейеров
  • Широкий спектр встроенного промежуточного программного обеспечения и расширений для обработки сжатия, кэша, cookie, аутентификации, спуфинга агента пользователя, обработки robots.txt, статистики, проверяют ограничение глубины, и т.д.
  • Интерактивная консоль оболочки очистки, очень полезная для разработки и отладки
  • веб-консоль управления для контроля и управления ботом
  • консоль Telnet для низкоуровневого доступа к процессу Scrapy

Пример кода для извлечения информации обо всех файлах потока, добавленных сегодня в сайт mininova потока, при помощи селектора XPath на возвращенном HTML:

class Torrent(ScrapedItem):
    pass

class MininovaSpider(CrawlSpider):
    domain_name = 'mininova.org'
    start_urls = ['http://www.mininova.org/today']
    rules = [Rule(RegexLinkExtractor(allow=['/tor/\d+']), 'parse_torrent')]

    def parse_torrent(self, response):
        x = HtmlXPathSelector(response)
        torrent = Torrent()

        torrent.url = response.url
        torrent.name = x.x("//h1/text()").extract()
        torrent.description = x.x("//div[@id='description']").extract()
        torrent.size = x.x("//div[@id='info-left']/p[2]/text()[2]").extract()
        return [torrent]
44
ответ дан nosklo 24 November 2019 в 14:38
поделиться

Проверьте HarvestMan, многопоточный поисковый робот, записанный в Python, также поглядите к модуль spider.py .

И здесь можно найти, что примеры кода создают простой поисковый робот.

6
ответ дан CMS 24 November 2019 в 14:38
поделиться

Я использовал Ruya и нашел его довольно хорошим.

3
ответ дан kshahar 24 November 2019 в 14:38
поделиться

Another simple spider Uses BeautifulSoup and urllib2. Nothing too sophisticated, just reads all a href's builds a list and goes though it.

2
ответ дан 24 November 2019 в 14:38
поделиться
0
ответ дан 24 November 2019 в 14:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: