python一个关于贴吧的小爬虫(三)

上一篇文章中
写了一个小爬虫来判断omg战队吧是不是每分钟都有人回复,这一次用类来封装一下上一篇的小爬虫

from bs4 import BeautifulSoup
import urllib.request
import time

class tieba(object):

    def gethtml(self, url):
        response = urllib.request.urlopen(url)
        self.html = response.read().decode('utf-8')
        return self.html

    def judge(self, L1):
        for i in range(len(L1) - 1):
            count = 0
            if L1[i] - L1[i+1] > 50:
                count = L1[i] - (L1[i+1] + 60)
            else:
                count = L1[i] - L[i+1]
            if count != -1:
                print('并不是每分钟都有人回复')
                break
        else:
            print('每分钟都有人回复')

    def gettime(self, sleeptime, count, url):
        L = []
        L1 = []
        for i in range(count):
            html = self.gethtml(url)
            url_soup = BeautifulSoup(html, 'html.parser')
            for a in url_soup.find_all("div", class_="pull_right"):
                grab_time = a.find_all("span")[1].get_text().strip()
                try:
                    change_time = grab_time.split(':')[1]
                    L.append(change_time)
                except:
                    pass
            L1.append(int(L[0]))
            print(L1)
            L = []
            time.sleep(sleeptime)
        self.judge(L1)

url = 'https://tieba.baidu.com/f?kw=omg%E6%88%98%E9%98%9F&fr=fenter&prequery=omg'
tieba_by_object = tieba()
'''
用来运行爬虫
'''
tieba_by_object.gettime(60, 5, url)

用来存放获取的时间的数组放在了函数中,如果要当函数的参数写就要这样写tieba_by_object.gettime(60, 5, L, L1, url),这样写有点low,可以用可变参数*args来小幅提升一下逼格。

args = [[], []]
tieba_by_object = tieba()
tieba_by_object.gettime(60, 5, url, *args)

获取数组的方法

def gettime(self, sleeptime, count, url, *args):

    L = args[0]
    L1 = args[1]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值