def test_hubs_extraction(self): html = request('GET', 'http://habrahabr.ru/post/269921/').text soup = BeautifulSoup(html) self.assertSequenceEqual(['криптография', 'информационная безопасность', 'вирусы и антивирусы'], TopicParser.extract_hubs(soup))
def test_text_extraction(self): html = request('GET', 'http://habrahabr.ru/post/269921/').text soup = BeautifulSoup(html) self.assertIn('В наше время развелось огромное множество «именитых»' ' специалистов в области информационной безопасности, люди,' ' считающие что знаний по настройке FireWall уже достаточно' ' чтобы причислить себя к «хакерам» или спецам в области ИБ.', TopicParser.extract_text(soup))
def test_tags_extraction(self): html = request('GET', 'http://habrahabr.ru/post/269921/').text soup = BeautifulSoup(html) self.assertSequenceEqual(['кардинг', 'информационная безопасность', 'деанонимизация', 'кредитные карты', 'даркнет'], TopicParser.extract_tags(soup))
# -*- coding: utf-8 -*- __author__ = 'AlexF' from urllib import parse import json import os from requests import request from HabraClassifier.code import TopicDownloader, TopicParser, TopicCleaner, NotFoundError parser = TopicParser() cleaner = TopicCleaner() def get_raw_point(topic_id: int) -> (list, list): topic_html = TopicDownloader.download_topic(topic_id) raw_topic = parser.parse(topic_html) labels = raw_topic.hubs + raw_topic.tags raw_text = raw_topic.text return raw_text, labels def send_classify_request(uri: str, text: str, label_n: int): encode = str.encode(text) params = {'text': encode, 'label_n': label_n} data = parse.urlencode(params) return request('POST', uri, data=data) while True: