Mikhail Kolodin. Project: Internet temperature. 2015-12-15 1.2.2

IPython research for internet temperature. We use now only fontanka.ru website, later other sites and methods will be added.

Version with database recording.


In [10]:
import requests
import lxml.html as lh

import datetime
now = datetime.datetime.now()

import sqlite3

In [76]:
db = "mp-nettemp2-fru.db"
conn = sqlite3.connect(db)

conn.execute('''DROP TABLE IF EXISTS netdata''')
conn.execute('''CREATE TABLE netdata (source, areal, ndate, addr, mshort, mlong)''')
conn.commit()
source = "fontanka"

In [77]:
url = "http://www.fontanka.ru/fontanka/"

In [78]:
myyear, mymonth, myday = now.year, now.month, now.day
plus = "{0:04d}/{1:02d}/{2:02d}" .format (myyear, mymonth, myday)
fullurl = url + plus + '/all.html'
print ("Getting data from {}" .format(fullurl))


Getting data from http://www.fontanka.ru/fontanka/2015/12/15/all.html

In [79]:
page = requests.get(fullurl)
tree = lh.fromstring(page.text)
#print(tree.text_content())

In [80]:
bloks_spb = tree.xpath("//div[@class='entry article switcher-all-news switcher-spb-news']")
bloks_rus = tree.xpath("//div[@class='entry article switcher-all-news switcher-russian-news']")
bloks_world = tree.xpath("//div[@class='entry article switcher-all-news switcher-world-news']")
bloks = bloks_spb + bloks_rus + bloks_world

In [81]:
blogs_spb = []
for b in bloks_spb:
    blogs_spb.append (("spb", b))
blogs_rus = []
for b in bloks_rus:
    blogs_rus.append (("rus", b))
blogs_world = []
for b in bloks_world:
    blogs_world.append (("mir", b))
blogs = blogs_spb + blogs_rus + blogs_world
#print (blogs)

In [82]:
def procref (addr):
    """get full text of news"""
    if addr == "": return
    page = requests.get(addr)
    tree = lh.fromstring(page.text)
    try:
        full = tree.xpath("//div[@class='article_fulltext']")
        print (full[0].xpath("./p"))
#        print (full[0].text.strip())
    except:
        print ("None")

In [83]:
for blog in blogs:
    blok = blog[1]
    dt = blok.xpath("div[@class='entry_date']")
    dtout = dt[0].text.strip()
    if dtout[2] != ":": continue
    plusout = plus.replace("/", "-")
    print (blog[0], plusout, dtout, end=" ")
    tit = blok.xpath("div[@class='entry_title']")
    ref = tit[0].xpath("a[@href]")
    outtext = ref[0].text.strip()
    print ("text = [{}]" .format (outtext), end=" ")
    goes = tit[0].xpath("a/@href")[0]
    if goes.startswith('/'):
        goes = url + goes
    print ("goto = [{}]" .format(goes))
#    procref(goes)
    
    alldtout = plusout + " " + dtout
    conn.execute("""INSERT INTO netdata (source, areal, ndate, addr, mshort, mlong) VALUES (?, ?, ?, ?, ?, ?)""", (source, blog[0], alldtout, goes, outtext, ""))
    conn.commit()
    
print ("...\nTotal records: {}" .format(len(blogs)))


spb 2015-12-15 14:53 text = [На помойке в Петербурге нашли труп женщины с мешком на голове] goto = [http://www.fontanka.ru/fontanka//2015/12/15/097/]
spb 2015-12-15 14:45 text = [Минкультуры потратит 75 миллионов на конкурента RuTracker] goto = [http://calendar.fontanka.ru/articles/3126/]
spb 2015-12-15 14:43 text = ["Квадрат.ру": Смольный ищет пути легализации самостроев] goto = [http://www.kvadrat.ru/news/20151215_smolnyiy_ischet_puti_legalizatsii_samostroev]
spb 2015-12-15 14:31 text = [Халк вошел в символическую сборную группового этапа Лиги чемпионов] goto = [http://www.fontanka.ru/fontanka//2015/12/15/090/]
spb 2015-12-15 14:24 text = [СКА продлил контракт с Каблуковым на два года] goto = [http://www.fontanka.ru/fontanka//2015/12/15/089/]
spb 2015-12-15 14:20 text = [Агент Витселя:  Вести дела с «Зенитом» непросто, ведь «Газпром» обеспечивает газом всю Европу] goto = [http://www.fontanka.ru/fontanka//2015/12/15/088/]
spb 2015-12-15 14:14 text = [Полиция не будет возбуждать уголовное дело по найденным в шахте лифта в Металлострое цилиндрам] goto = [http://www.fontanka.ru/fontanka//2015/12/15/087/]
spb 2015-12-15 14:00 text = [«ДП»: Последний актив экс-владельца «Балтимора» банкротится второй раз за год] goto = [http://www.dp.ru/a/2015/12/14/Millioni_roz_Alekseja_Anti/]
spb 2015-12-15 13:22 text = [О рождении российского кино расскажут в музее Фаберже] goto = [http://calendar.fontanka.ru/articles/3125/]
spb 2015-12-15 13:09 text = [Улицу Зодчего Росси перекроют на два дня] goto = [http://spbvoditel.ru/2015/12/15/019/]
spb 2015-12-15 12:40 text = [В Эрмитаже покажут фильм про ООН и Путина] goto = [http://www.fontanka.ru/fontanka//2015/12/15/062/]
spb 2015-12-15 12:26 text = [Губернатор Ленобласти запретил подчинённым летать зарубежными авиалиниями] goto = [http://47news.ru/articles/97118/]
spb 2015-12-15 12:14 text = [Петербуржец получил с ЖКС 950 тысяч за выброшенную антенну] goto = [http://www.fontanka.ru/fontanka//2015/12/15/059/]
spb 2015-12-15 12:06 text = [Сыр, колбасу и икру нашли на границе в тайниках питерского микроавтобуса] goto = [http://fontanka.fi/articles/24897/]
spb 2015-12-15 11:53 text = [Дворник нашел завернутого в одеяло младенца на улице Есенина] goto = [http://www.fontanka.ru/fontanka//2015/12/15/053/]
spb 2015-12-15 11:50 text = [Метрополитен потратит 8 млн на анализ пропускной способности третьей линии] goto = [http://www.fontanka.ru/fontanka//2015/12/15/052/]
spb 2015-12-15 11:37 text = [Очевидцы: В ДТП на дамбе пострадали двое] goto = [http://www.fontanka.ru/fontanka//2015/12/15/050/]
spb 2015-12-15 11:31 text = [Смольный запретил выходить на лед] goto = [http://www.fontanka.ru/fontanka//2015/12/15/048/]
spb 2015-12-15 11:25 text = [Суд оставил в силе решение ФАС о незаконности сноса рекламных конструкций] goto = [http://www.fontanka.ru/fontanka//2015/12/15/047/]
spb 2015-12-15 11:17 text = ["Квадрат.ру": Спрос на дачи на Карельском перешейке упал на 60%] goto = [http://www.kvadrat.ru/news/20151215_spros_na_dachi_na_karelskom_peresheyke_upal_na_60]
spb 2015-12-15 11:17 text = [Мужчина, выпавший с 7 этажа в Калининском районе, выжил] goto = [http://www.fontanka.ru/fontanka//2015/12/15/044/]
spb 2015-12-15 11:11 text = [Смольный: Завод Bosch-Siemens может возобновить производство на следующей неделе] goto = [http://www.fontanka.ru/fontanka//2015/12/15/042/]
spb 2015-12-15 11:09 text = [В сгоревшем гараже в Выборгском районе нашли тело мужчины] goto = [http://www.fontanka.ru/fontanka//2015/12/15/041/]
spb 2015-12-15 11:02 text = [Дольщица строительной компании «Импульс» отсудила ребёнка у её основателя] goto = [http://www.fontanka.ru/fontanka//2015/12/15/038/]
spb 2015-12-15 10:56 text = [Промышленное производство за 11 месяцев упало в Петербурге на 8%] goto = [http://www.fontanka.ru/fontanka//2015/12/15/037/]
spb 2015-12-15 10:50 text = [Четыре человека пострадали в ДТП под Лугой] goto = [http://spbvoditel.ru/2015/12/15/008/]
spb 2015-12-15 10:33 text = [На дамбе крупная авария с фурой. Движение парализовано] goto = [http://www.fontanka.ru/fontanka//2015/12/15/033/]
spb 2015-12-15 10:21 text = [На Васильевском острове ищут развратника, испугавшего двух школьниц] goto = [http://www.fontanka.ru/fontanka//2015/12/15/031/]
spb 2015-12-15 10:09 text = [В ТЦ «Миллер» полицейский с окровавленным лицом бегал за подростком, напавшим на пятиклассника] goto = [http://www.fontanka.ru/fontanka//2015/12/15/029/]
spb 2015-12-15 09:41 text = [В салатах из петербургских супермаркетов обнаружили плесень и стафилококк] goto = [http://doctorpiter.ru/articles/13291/]
rus 2015-12-15 14:58 text = [Три человека арестованы во Франции по делу о терактах] goto = [http://www.fontanka.ru/fontanka//2015/12/15/096/]
rus 2015-12-15 14:50 text = [Курс доллара достиг исторического максимума с 1998 года] goto = [http://www.fontanka.ru/fontanka//2015/12/15/095/]
rus 2015-12-15 14:04 text = [В Кремле начались переговоры Путина и Лукашенко] goto = [http://www.fontanka.ru/fontanka//2015/12/15/086/]
rus 2015-12-15 13:55 text = [Зампредседателя Верховного суда не лишили ученой степени по иску "Диссернета"] goto = [http://www.fontanka.ru/fontanka//2015/12/15/085/]
rus 2015-12-15 13:49 text = [Работа нефтепровода в Оренбургской области приостановлена из-за незаконной врезки] goto = [http://www.fontanka.ru/fontanka//2015/12/15/083/]
rus 2015-12-15 13:43 text = [В Кремле спрогнозировали долгий период цен на нефть ниже $40] goto = [http://www.fontanka.ru/fontanka//2015/12/15/082/]
rus 2015-12-15 13:37 text = [Глава Счетной палаты призвала в следующем году «не просто тратить»] goto = [http://www.fontanka.ru/fontanka//2015/12/15/081/]
rus 2015-12-15 13:24 text = [Экс-жена замгенпрокурора Лопатина подала в суд на Навального в связи с фильмом о генпрокуроре Чайке] goto = [http://www.fontanka.ru/fontanka//2015/12/15/076/]
rus 2015-12-15 13:03 text = ["Левада-центр": Большинство россиян ни разу не отдыхали в Египте и Турции] goto = [http://www.fontanka.ru/fontanka//2015/12/15/071/]
rus 2015-12-15 12:57 text = [Запущена вторая нитка энергомоста в Крым] goto = [http://www.fontanka.ru/fontanka//2015/12/15/070/]
rus 2015-12-15 12:50 text = [Турция увеличивает закупки газа в России] goto = [http://www.fontanka.ru/fontanka//2015/12/15/066/]
rus 2015-12-15 12:38 text = [Уже третий депутат Госдумы просит Бастрыкина проверить расследование ФБК о Чайке] goto = [http://www.fontanka.ru/fontanka//2015/12/15/064/]
rus 2015-12-15 12:32 text = [В Кремле насторожились из-за колебания курса рубля] goto = [http://www.fontanka.ru/fontanka//2015/12/15/063/]
rus 2015-12-15 12:20 text = [Украинский шпион получил 11 лет колонии] goto = [http://www.fontanka.ru/fontanka//2015/12/15/060/]
rus 2015-12-15 12:11 text = [Ходорковский перечислил «адекватных» людей в правительстве] goto = [http://www.fontanka.ru/fontanka//2015/12/15/058/]
rus 2015-12-15 12:08 text = [Депутат от КПРФ обратился к Бастрыкину с просьбой проверить данные ФБК о Чайке] goto = [http://www.fontanka.ru/fontanka//2015/12/15/057/]
rus 2015-12-15 12:01 text = [Путин утвердил заморозку накопительной пенсии россиян в 2016 году] goto = [http://www.fontanka.ru/fontanka//2015/12/15/055/]
rus 2015-12-15 11:57 text = [Путин повысил МРОТ до 6204 рублей] goto = [http://www.fontanka.ru/fontanka//2015/12/15/054/]
rus 2015-12-15 11:43 text = [В квартире белгородского имама нашли взрывчатку] goto = [http://www.fontanka.ru/fontanka//2015/12/15/051/]
rus 2015-12-15 11:21 text = [ФСБ: 2,9 тыс. россиян подозреваются в причастности к террористам Сирии и Ирака] goto = [http://www.fontanka.ru/fontanka//2015/12/15/045/]
rus 2015-12-15 11:05 text = [Керри: У России и США есть желание урегулировать ситуацию в Сирии и на Украине] goto = [http://www.fontanka.ru/fontanka//2015/12/15/040/]
rus 2015-12-15 11:01 text = [ВЦИОМ: Более половины россиян не готовы сдавать нормы ГТО] goto = [http://www.fontanka.ru/fontanka//2015/12/15/039/]
rus 2015-12-15 10:44 text = [Дальнобойщики продолжат протестовать, несмотря на снижение штрафов по «Платону»] goto = [http://www.fontanka.ru/fontanka//2015/12/15/035/]
rus 2015-12-15 10:27 text = [В Москве началась встреча Лаврова и Керри] goto = [http://www.fontanka.ru/fontanka//2015/12/15/032/]
rus 2015-12-15 10:05 text = [Президент подписал закон, снижающий штрафы за неуплату сборов в "Платон"] goto = [http://www.fontanka.ru/fontanka//2015/12/15/028/]
rus 2015-12-15 09:49 text = [Путин подписал закон, разрешающий россиянам получать два загранпаспорта] goto = [http://www.fontanka.ru/fontanka//2015/12/15/026/]
rus 2015-12-15 09:25 text = [Медведев призвал ШОС создать финансовую систему без доллара] goto = [http://www.fontanka.ru/fontanka//2015/12/15/023/]
rus 2015-12-15 09:17 text = [Мировые цены на нефть продолжили падение] goto = [http://www.fontanka.ru/fontanka//2015/12/15/022/]
rus 2015-12-15 08:45 text = [Число пострадавших при перестрелке в московском кафе выросло до восьми] goto = [http://www.fontanka.ru/fontanka//2015/12/15/018/]
mir 2015-12-15 14:37 text = [За оскорбление королевской собаки тайцу грозит почти 40 лет тюрьмы] goto = [http://www.fontanka.ru/fontanka//2015/12/15/091/]
mir 2015-12-15 13:30 text = [В Донецкой области местный житель подорвался на мине в поле] goto = [http://www.fontanka.ru/fontanka//2015/12/15/078/]
mir 2015-12-15 13:14 text = [Нефть Brent растет почти до $39 за баррель] goto = [http://www.fontanka.ru/fontanka//2015/12/15/073/]
mir 2015-12-15 10:39 text = [В штате Нью-Йорк аварийно отключился реактор АЭС] goto = [http://www.fontanka.ru/fontanka//2015/12/15/034/]
mir 2015-12-15 09:57 text = [СМИ: Финляндия получила список из 1700 террористов среди просителей убежища в ЕС] goto = [http://fontanka.fi/articles/24892/]
mir 2015-12-15 09:33 text = [ОБСЕ: Интенсивность конфликта на востоке Украины снижается] goto = [http://www.fontanka.ru/fontanka//2015/12/15/024/]
mir 2015-12-15 09:01 text = [ЦБ Китая понизил курс юаня до 4,5-летнего минимума] goto = [http://www.fontanka.ru/fontanka//2015/12/15/020/]
...
Total records: 66

In [84]:
conn.close()

In [ ]: