不羁的阳光 发表于 2021-7-22 23:45

一个简单线报爬取,关键词提醒,不用Z8PLUS+了

本帖最后由 不羁的阳光 于 2021-7-23 08:40 编辑

# -*- coding = utf-8 -*-
# @Time : 2021/7/22 18:55
# Author : Wall.E
# @file : RIKIPush.py
# @SOFTWARE : PyCharm
import time
import requests
from lxml import etree
import redis
import random
import winsound
GjKey=['红包','攻略','优惠','首发','大毛','速度','作业','大水','翼支付','有水','白嫖','0元','手慢无']
def log(*args, **kwargs):
    format = '%Y/%m/%d %H:%M:%S'
    value = time.localtime(int(time.time()))
    dt = time.strftime(format, value)
    print(dt, *args, **kwargs)
def getmidstring(html, start_str, end):
    start = html.find(start_str)
    if start >= 0:
      start += len(start_str)
      end = html.find(end, start)
      if end >= 0:
            return html.strip()
def getrikimsg():

    while True:
      url1 = "https://www.hxm5.com/xianbao/2/"
      headers = {
            "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
      }
      res1 = requests.get(url=url1, headers=headers).text

      tree = etree.HTML(res1)
      tb_list = tree.xpath('//div/ul/li')
      for tb in tb_list:
            tittle = tb.xpath('./div/h2/a/text()')
            #print(tittle)
            tittle_url = tb.xpath('./div/h2/a/@href')
         # print(tittle_url)
            ex=r.sadd('tids',tittle_url)
            if ex==1:
                url2 = 'https://www.hxm5.com' + tittle_url
                res2 = requests.get(url=url2, headers=headers).text
                tree2 = etree.HTML(res2)
                nr = tree2.xpath('//*[@id="topic-desc"]/p/text()')
                log(tittle+'\n', url2+'\n', nr)
                for GJ in GjKey:
                  if GJ in tittle:
                        winsound.Beep(440, 1500)
                        break
                time.sleep(random.randint(10, 30))
            else:
                log('网站无更新')
                time.sleep(random.randint(30, 90))
                break

if __name__ == '__main__':
    poor = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True)
    r = redis.Redis(connection_pool=poor)
    for key in r.keys():
      r.delete(key)# 清除所有数据
    getrikimsg()


注意:1,安装PY环境,2,安装REDIS数据库,3,安装那几个第三方库,然后就OK了
      

不羁的阳光 发表于 2021-7-23 08:37

呆头鹅Two 发表于 2021-7-23 08:29
本来高高兴兴
结果 ####由于目标计算机积极拒绝,无法连接。.
Error 10061 connecting to localhost:6379 ...

你这是没安装redis数据库,下载一个就行了

不羁的阳光 发表于 2021-7-25 12:46

SuigetsuRe 发表于 2021-7-24 20:23
安装了redis也显示
redis.exceptions.ConnectionError: Error 10061 connecting to localhost:6379. 由于 ...

redis需要安装两个东西,一个是PYthon第三方库,一个是redis软件,你应该没下载软件

不羁的阳光 发表于 2021-7-22 23:47

初学,写的比较乱,将就吧,不用开Z8PLUS+了

liushaokai1993 发表于 2021-7-23 00:08

谢谢谢谢谢谢

3404071 发表于 2021-7-23 00:29

对py一窍不通,球球php

ThalesSingapore 发表于 2021-7-23 06:15

可以打包一下吗?

iamhrh2 发表于 2021-7-23 07:57

怎么用啊 。有没有成品现成的或是介绍

E式丶男孩 发表于 2021-7-23 08:20

写的很不错,学习了

呆头鹅Two 发表于 2021-7-23 08:29

本帖最后由 呆头鹅Two 于 2021-7-23 08:31 编辑

本来高高兴兴
结果 ####由于目标计算机积极拒绝,无法连接。.
Error 10061 connecting to localhost:6379. 由于目标计算机积极拒绝,无法连接。.

不羁的阳光 发表于 2021-7-23 08:32

iamhrh2 发表于 2021-7-23 07:57
怎么用啊 。有没有成品现成的或是介绍

安装PY环境,安装那几个第三方库,然后直接保存到PY文件,双击打开就能用了,傻瓜操作

zwgc 发表于 2021-7-23 08:33

谢谢谢谢谢谢
页: [1] 2 3 4 5
查看完整版本: 一个简单线报爬取,关键词提醒,不用Z8PLUS+了