Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
6 / 6 / 3
Регистрация: 14.11.2016
Сообщений: 53
1

Список сайтов, которые я посещаю

05.04.2017, 18:34. Показов 1516. Ответов 3

Author24 — интернет-сервис помощи студентам
Как с помощью python в реальном времени узнавать, какие сайты я посещаю. Например, я пять минут назад зашёл на a.ru, через пять минут -- на b.ru, через пять -- на c.ru.

1. Как мне написать программу в python, чтобы в реальном времени получать названия этих сайтов, например, a.ru, b.ru и c.ru
2. Как мне получить в python текст страниц, которые я просматривал. Например, вот я зашёл на этот сайт. Вижу сверху: " Создать тему CyberForum.ru - форум программистов и сисадминов > Форум программистов > Python Добро пожаловать, vjg2017. Ваш последний визит: Вчера в 18:34 Ваши уведомления: 17 Мои темы | Темы с моими ответами | Выход". Как мне, например, получить этот текст для анализа в python?
3. Люди, которые пишут профессиональный софт с данными задачами, какой язык они используют, и какие инструменты, библиотеки?

Добавлено через 3 часа 52 минуты
Update:

Нашёл далеко не идеальный, но всё способ:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#место, где Firefox хранит sqlite файл -- в нём и хранится история
path = '/home/USERNAME/.mozilla/firefox/frl6podk.default/places.sqlite'
 
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import sqlite3
from numpy import random
 
 
with sqlite3.connect(path) as con:
 
    history = pd.read_sql_query("SELECT * from  moz_places", con)
 
history = history[::-1]
 
hist = history.url
 
print(hist.head)
соответственно, в hist и будет храниться вся наша история. Если открывать её раз в 5 секунд, то можно будет смотреть, какие страницы были открыты в последние 5 секунда. Ну, и можно многое что поделать.

Чтобы посмотреть текст страниц, наверное, оттуда же можно выдернуть адреса страниц и использовать какие-нибудь парсеры.

Это плохой метод. Думаю, что можно сделать всё намного лучше, потому что постоянно открывать sql базу, постоянно обращаться к диску -- вряд ли это правильно. Возможно, лучше написать дополнение для FireFox и как-то передавать параметры от расширения программе напрямую, минуя обращение к диску, но я не знаю, как это сделать.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.04.2017, 18:34
Ответы с готовыми решениями:

Составить программу, которая формирует список L, включив в него по одному разу элементы, которые входят в список L1 но не входят в список L2
Составить программу, которая формирует список L, включив в него по одному разу элементы, которые...

Описать процедуру, которая формирует список L, включив в него по одному разу элементы, которые входят в список L1, но не входят в список L2.
Описать процедуру, которая формирует список L, включив в него по одному разу элементы, которые...

Дан список слов. Отфильтровать список , получив список слов, которые начинаются с гласной буквы
a = b = ('a','e','i','o','u','y') c = for i in a: if i.lower() in b: c.append(a)...

Сформировать список L, включив в него по одному разу элементы, которые входят в список L1, но не входят в список L2
Описать функцию, которая формирует список L, включив в него по одному разу элементы, которые...

3
145 / 113 / 31
Регистрация: 12.06.2011
Сообщений: 1,245
09.04.2017, 00:18 2
Может, плагин к Firefox написать на Python?
http://stackoverflow.com/quest... ing-python

Вроде, можно. Говорю сразу, что сам не делал.

Пусть плагин в кэшатину складывает. Так можно читать только один раз - при запуске браузера.
1
6 / 6 / 3
Регистрация: 14.11.2016
Сообщений: 53
09.04.2017, 12:29  [ТС] 3
Спасибо за идею. Кстати, посмотрел свои TOP-10 посещённых сайтов за месяц или около того. В первой десятке -- половина бесполезных сайтов. Забанил их с помощью расширения leechblock к Firefox.

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

Надо будет попробовать написать плагин на Python. Я раньше думал, что плагины пишутся только на JS к Firefox, приятно, что это можно делать и на Python.

Добавлено через 2 часа 52 минуты
Update:

Я посмотрел и вроде бы Python не очень годится для написания расширений для новых версий браузера Firefox (тот проект свернули). Поэтому решил послушать совета Kifsif, но писать на JS (хотя я его не знаю) -- надеюсь, это не так сложно и можно будет быстро разобраться.

Нашёл уроки от Mozilla -- она сама учит, как писать расширения. Вот уроки по первому в вашей жизни расширению: https://developer.mozilla.org/... bExtension

Цель -- сделать расширение для Firefox.
Основные свойства:
1. Иметь возможность смотреть открытые вкладки в реальном времени и не обращаясь постоянно к старой истории.
2. Иметь возможность выдирать на лету текст страниц и как-то их изучать. Например, для начала самое простое -- с помощью машинного обучения понимать, мы посещаем английский сайт или русский. То есть не использовать идею ru -- это обязательно русский сайт (а вдруг нет) или com -- обязательно английский (не обязательно).
3. Раз в неделю -- получать красивый график самых популярных сайтов, просмотренных нами. Смотреть, нет ли там бесполезных сайтов -- если есть, то блокировать их. Написать функционал по блокированию бесполезных сайтов в Firefox.

Соответственно, надо будет написать расширение на JS и одновременно программу на PyQt с Python. И пусть программа на Python использует результаты работы расширения в Firefox.

Соответственно, вот попробую сделать такую программу. Я создал своё первое расширение от Мозиллы, сейчас делаю второе -- это уроки от Мозиллы: https://developer.mozilla.org/... bExtension
0
Эксперт Python
5434 / 3857 / 1215
Регистрация: 28.10.2013
Сообщений: 9,553
Записей в блоге: 1
09.04.2017, 12:40 4
vjg2017, Нужные данные еще можно получать вообще минуя уровень браузера - непосредственно снимать их с сетевого интерфейса. Как это делает, например, Http Analyzer и ему подобные программы. Для этого есть сишная либа pcap (для windows winPcap). Но не уверен, что для нее есть рабочий биндинг к последним версиям python.
1
09.04.2017, 12:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2017, 12:40
Помогаю со студенческими работами здесь

Создать список L, включив в него по одному разу элементы, которые входят в список L1, но не входят в список L2
Описать процедуру, которая формирует список L, включив в него по одному разу элементы, которые ...

Черный список сайтов
можете скинуть сайты для добавления в антивирусс для блокировки

Список имен сайтов по IP
Помогите , требуется команда или функция что бы получить список сайтов находящихся на указанном...

Список сайтов-мошенников!!!
http://www.weboborona.ru/index.php?nma=index&fla=index Не попадитесь!!!!:-|

Список сайтов по MS Access 97
http://nsa.chat.ru/

Белый список сайтов
Здравствуйте. Подскажите существуют ли достоверные открытые источники с актуальной информацией о...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru