返回信息流需求:看到跳蚤市场不断产生不符合规定的帖子,版主都需要进行回帖提醒,并进行锁贴操作。于是想写一个能够自动过滤不良帖子进行上述操作的程式。
功能:每隔一小时检测第一页帖子,过滤带有tup中的字符串,并进行回帖提醒。
自己不是版主,还不能进行编写锁贴操作。以下是源码,当然你修改后,也可以用来使用它去别的版进行自动回帖操作[ema27]
#! usr/bin/env python
# -*- coding: utf-8 -*-
import time
import requests
from BeautifulSoup import BeautifulSoup
from apscheduler.schedulers.background import BackgroundScheduler
def filter_key(str, tup):
if filter(lambda x: x in str, tup):
return True
return False
def post_warnning(ad_id, title):
rp_header = {
'Accept':'application/json, text/javascript, */*; q=0.01',
'Accept-Encoding':'gzip,deflate,sdch',
'Accept-Language':'zh-CN,zh;q=0.8',
'Connection':'keep-alive',
'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
'Host':'bbs.byr.cn',
'Origin':'http://bbs.byr.cn',
'Referer':'http://bbs.byr.cn/',
'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',
'X-Requested-With':'XMLHttpRequest',
'Cookie':'your cookie'
}
s = requests.Session()
url2 = 'http://bbs.byr.cn/article/Advertising/ajax_post.json'
tmp ={}
tmp['content'] = '请发到 电脑数码交易版二手书版或票务版 辛苦~'
tmp['id'] = ad_id
tmp['subject'] = 'Re:' + title
#tmp['signature'] = '1'
s.post(url2, headers=rp_header, data=tmp)
def search_ad():
url = 'http://bbs.byr.cn/board/Advertising'
s = requests.get(url, headers={'X-Requested-With':'XMLHttpRequest'})
soup = BeautifulSoup(s.text)
res = soup.findAll('td', {'class': 'title_9'})
for item in res:
ad_id = item.next['href'].split('/')[-1]
title = item.next.string
if ad_id in outdate:
pass
elif filter_key(title, tup):
outdate.append(ad_id)
post_warnning(ad_id, title)
print 'the ad < %s > has been warned.' % title
time.sleep(5)
else:
pass
print 'all detected ads have been handled.'
if __name__ == "__main__":
outdate = []
tup = (u'iphone', u'书', u'手机', u'电脑', u'鼠标', u'课本', u'内存', u'票', u'硬盘', u'券')
search_ad()
sched = BackgroundScheduler()
sched.add_job(search_ad, 'interval', hours=1)
sched.start()
try:
while True:
time.sleep(2)
except (KeyboardInterrupt, SystemExit):
sched.shutdown()
这是一条镜像帖。来源:北邮人论坛 / python / #4153同步于 2014/11/14
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
一个小爬虫,跳蚤市场不良帖子提醒
buptmuye
2014/11/14镜像同步11 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
汗,也是刚刚看到有这么用的[ema0]
【 在 reverland 的大作中提到: 】
: 高端。。。我都是sleep的。。。
: 来自「北邮人论坛手机版」
[ema0]
不是有rest api之类的东西么
【 在 nuanyangyang 的大作中提到: 】
: 如果是出于版面管理的目的的话,是不是应该向炜哥 @xw2423 申请一下使用论坛的API呢?比爬虫容易处理。
来自「北邮人论坛手机版」
应该用浏览器插件更合理吧,为什么要爬呢?
【 在 nuanyangyang 的大作中提到: 】
: 当然,如果能做出桌面程序或者浏览器插件就更好了。
来自「北邮人论坛手机版」
【 在 buptmuye 的大作中提到: 】
: 需求:看到跳蚤市场不断产生不符合规定的帖子,版主都需要进行回帖提醒,并进行锁贴操作。于是想写一个能够自动过滤不良帖子进行上述操作的程式。
: 功能:每隔一小时检测第一页帖子,过滤带有tup中的字符串,并进行回帖提醒。
: 自己不是版主,还不能进行编写锁贴操作。以下是源码,当然你修改后,也可以用来使用它去别的版进行自动回帖操作
: ...................
撸主,你是不是最近在写一个脚本,专门做沙发?怎么好多帖子都能看到你是沙发啊
被你发现了。。那我不抢了,在这么做就被封号咯[ema27]
【 在 WTF (WTF) 的大作中提到: 】
: 撸主,你是不是最近在写一个脚本,专门做沙发?怎么好多帖子都能看到你是沙发啊
:
通过『我邮2.0』发布