Программы для парсинга контента
zuziken.ru парсер товаров 6.2, 7.0, 8.0 от zuziken
visual web ripper
web content extractor
content downloader
import tweepy, webbrowser
CONSUMER_KEY = 'paste your Consumer Key here'
CONSUMER_SECRET = 'paste your Consumer Secret here'
auth = tweepy.OAuthHandler (CONSUMER_KEY, CONSUMER_SECRET)
auth_url = auth.get_authorization_url ()
webbrowser.open (auth_url)
verifier = raw_input('PIN: ').strip ()
auth.get_access_token (verifier)
print «ACCESS_KEY = '%s'» % auth.access_token.key
print «ACCESS_SECRET = '%s'» % auth.access_token.secret
import oauth, tweepy, feedparser, cPickle, time, googldef Sleep(sec): # функция для приостановки скрипта на заданное время
print "Ждём %d секунд" % sec
time.sleep (sec)
return True
def Short(longurl): # сокращает ссылки
url = short.shorten (longurl)
return url["id"]def Tweet(twit): # обновляет статус в твиттере
if len(twit)<=140 and len(twit)>0:
res = api.update_status (twit) #обновляем статус
return True
else:
return Falsedef bot(feedurl):
feed = feedparser.parse (feedurl) # парсим фид
file = open("db.txt", "r") # подключаем бд, получаем отправленные ссылки
posted = cPickle.load (file)
file.close ()
ok = 1
newposted = posted
for item in feed.entries:
for i in posted: # перебираем отправленные и новые ссылки
if i == item.link:
ok = 0
break
ok = 1
if ok:
text = item.title + " " + Short (item.link)
print "Твитим: ", text
Tweet (text) # если такая ссылка не отправлялась - отправляем
Sleep (300)
newposted.append (item.link)
file = open("db.txt","w") # сохраняем в файл отправленные ссылки
cPickle.dump (newposted, file)
file.close ()
return Truedef refollow(): # подписывается на всех, кто читает бота
followers = api.followers ()
following = api.friends ()
fnames = []
for user in following:
fnames.append (user.screen_name)
for follower in followers:
if (not follower.screen_name in fnames):
print "Подписываюсь на @",follower.screen_name
follower.follow ()
return Truedef reunfollow(): # отподписывается от всех, кто не читает бота, но есть в нашем френд листе
followers = api.followers ()
following = api.friends ()
fnames = []
for user in followers:
fnames.append (user.screen_name)
for follower in following:
if (not follower.screen_name in fnames):
print "Отписываюсь от @",follower.screen_name
follower.unfollow ()
return Truedef init():
global api
global short
consumer_key = "" # ваш consumer key
consumer_secret = "" # ваш consumer secret
access_key="" # access key
access_secret="" # и access secret
auth = tweepy.OAuthHandler (consumer_key, consumer_secret)
auth.set_access_token (access_key, access_secret)
api=tweepy.API (auth)
short = googl.Googl ("") # ключ для API goo.glinit () # старт
while 1: #вечный цикл
bot ("http://feeds2.feedburner.com/spoofi") # запускаем обработку фида
Sleep (20*60) # спим 20*60 (1800) секунд
refollow () # фолловим новых читателей
Sleep (20*60) # опять спим
bot ("http://prodigger.ru/rss/index/") # можно добавить еще один фид
Sleep (20*60)
reunfollow () # удаляем не читающих нас
Sleep (20*60)
sudo apt-get install python-tweepy
.import tweepy, webbrowser
CONSUMER_KEY = 'paste your Consumer Key here'
CONSUMER_SECRET = 'paste your Consumer Secret here'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth_url = auth.get_authorization_url()
webbrowser.open(auth_url)
verifier = raw_input('PIN: ').strip()
auth.get_access_token(verifier)
print "ACCESS_KEY = '%s'" % auth.access_token.key
print "ACCESS_SECRET = '%s'" % auth.access_token.secret
#coding: utf-8
import oauth, tweepy, sys, locale, threading
from time import localtime, strftime, sleep
replyed=['']
search_reply_words={'печалька':' каждый раз, когда вы говорите "печалька", умирают хомячки.','пичалька':' каждый раз, когда вы говорите "пичалька", умирают хомячки.'}
update_time=60 #время обновления
def Tweet(twit,id_reply):
if len(twit)<=140 and len(twit)>0:
api.update_status(twit,id_reply) #обновляем статус (постим твит)
return True
else:
return False
def init(): #инициализируемся
global api
#consumer_key = ""
#consumer_secret = ""
#access_key=""
#access_secret=""
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api=tweepy.API(auth)
class TwiBot(threading.Thread):
def __init__ (self, keyword,answer):
self.keyword = keyword
self.answer=answer
threading.Thread.__init__(self)
def run (self):
global replyed,api
request=api.search(self.keyword) #ищем твиты с указанным словом
for i in request:
if i.from_user!='thevar1able' and i.id not in replyed: # если твит не наш и мы на него еще не отвечали...
try:
Tweet('@'+i.from_user+self.answer,i.id) #...отвечаем
print strftime('[%d/%m %H:%M:%S]',localtime())+' Reply to @'+i.from_user+'('+str(i.from_user_id)+')'
except:
print strftime('DUP [%d/%m %H:%M:%S]',localtime())+' Reply to @'+i.from_user+'('+str(i.from_user_id)+')'
replyed.append(i.id)
return True
init() # инициализируемся
while not False: # вечно
for word in search_reply_words:
TwiBot(word, search_reply_words[word]).start() #запускаем поток с нужным словом для поиска
print strftime('[%d/%m %H:%M:%S]',localtime())+' Updating for word "'+str(word)+'"...'
sleep(1)
sleep(update_time)
комментарии (30)