python:百度贴吧,统计ID回复数的爬虫,附源码

本文介绍了一个Python爬虫,用于统计百度贴吧中每个帖子内ID的回复数,包括楼中楼回复。爬虫能识别有效回复并支持在限制多线程的环境中运行。作者使用自定义的`text_wrapped_by_all`函数代替BeautifulSoup进行查找,同时提到了一个用于登录和执行简单任务的`process`库,可用于自动化更新和发布活跃ID信息。
摘要由CSDN通过智能技术生成
这是为了量化地统计吧内活跃的ID的排名

爬了每个帖子中所有的页,以及所有页中的楼中楼,以及楼中楼中所有的页。

支持根据回复的时间判断是否为有效回复。

本来打算写成多线程,但看到SAE限制了多线程,如果放到上面估计用不了,于是没改,其实应该不会太难。

从前根据beautifulsoup写过一个,现在写这个脱离了bs,自己写了个text_wrapped_by_all的函数做简单的查找工作,于是可以根据标记对各个所需参数查找。大半年过去,自己再重写一次还是发现自己有很大的提高。

自己还写了另外一个百度process的库,用于登录后做一些简单的事情,发帖回帖之类的,配合上这个库,放到服务器上就可以实现每天自动更新吧内的活跃ID,并发帖公布的功能

具体实现看源码,都有注释

#coding:gbk
import cookielib,urllib2,urllib
import time

lzlurl='http://tieba.baidu.com/p/comment?tid=%s&pid=%s&pn=%s'

#以下是各个需要查找的参数的标记
#-----------------------------------
#从50个帖子的页中获得各帖子的ID
tieid=['<a href="/p/','" title="']
#从帖子内部的一页中获得用户ID
userid=['m&st_type=uname" target="_blank">','</a>\t\t\t </li>\r\n\t\t\t <li class="l_badge">']
#一个帖子的页数
intiepages=['共有<span class="red">','</span>\xd2\xb3</li>\r\n\t<li class="l_repl']
#帖子内部一页直接可以看到的LZL的用户ID
lzlinp=['hideattip(this);">','</a>:\r\n\t']
#翻页的LZL中的用户ID
inlzl=['hideattip(this);">','</a>:\r\n']
#获得token
ftoken=[".login_token='","\';\r\n\tbdPass"]
#帖子内一页中对应ID的回复时间
pudate=['"date":"','","vote_crypt":"","flo']
#帖子内一页中LZL对应ID的回复时间
pldate=['lzl_time">','</span>\r\n\t']
#一页LZL中对应ID的回复时间
ppdate=['lzl_time">','</span>\r\n']

def text_wrapped_by_all(st,ed,text,isall&#
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值