猫史档案馆


【python】【风纪委员】猜测,探究风纪07用程序摸鱼的方法(爬虫获取帖子/评论)

用户:mornwindmornwind查看:429 回复:25 评论:58 创建时间:2023-01-04T16:56:22


center_image

center_image

import requests
import json
import time
from bs4 import BeautifulSoup as bs
import lxml

def string_similar(s1, s2):
    #算法请自行编写
web=#帖子列表API,网址自行探索
lst=[]
nl=[]
get_id=[]
def check(lst,text,user,id_list,id):
    #此段算法自行探索
    raise
    return lst,id_list
def save(lst):
    with open("信息.json","w",encoding="utf-8") as f:
        json.dump(lst,f)
        print("\n数据已经保存\n")

print("开始获取信息\n")
lt_url="https://api.codemao.cn/web/forums/boards/simples/all"#帖子分区的API
l=json.loads(requests.get(lt_url).text)["items"]
lt=[[i["id"],i["name"]] for i in l]


for name in range(len(lt)):
    print(f"正在获取{lt[name][1]}")
    for i in range(1,1000):
        #写代码风格不好请见谅
        ll=len(lst)
        url=web.format(lt[name][0],i)
        w=requests.get(url)
        w.encoding="utf-8"
        data=json.loads(w.text)["items"]
        for j in data:
            user=(j["user"]["id"],j["user"]["nickname"])
            id=j["id"]
            title=j["title"]
            text=bs(j["content"],"lxml").text.replace("\n","").replace(" ","")
                lst,get_id=check(lst,text,user,get_id,id)
            except:
                continue
        nl.append(len(lst))
        if nl[-1]==sum(nl[-20:])/20:
            print("获取已经稳定\n")
            break
        print("    已经获取第",i,"页"," 共",len(lst)-ll,"项"," 当前已经获取",len(lst),"项",sep="",end="\n")
    else:
        print("获取结束\n")
    save(lst)
    time.sleep(1)
save(lst)

center_image

import requests
import json
import time
from bs4 import BeautifulSoup as bs
import lxml


def string_similar(s1, s2):
    #同上,自行编写
web=#API,自行探索
lst=[]
id_list=[]
last=0
def save(lst):
    with open("信息.json","w",encoding="utf-8") as f:
        json.dump(lst,f)
        print("数据已经保存")
def check(lst,text,user,id_list,id):
    #同上,自行编写
    raise
    return lst,id_list
print("开始获取信息")
lt_url="https://api.codemao.cn/web/works/channels/list?type=KITTEN"#作品API
l=json.loads(requests.get(lt_url).text)["items"]
lt=[[i["id"],i["name"]] for i in l]


for name in range(len(lt)):

    ou=#API

    ls = json.loads(requests.get(ou).text)
    for i in ls:
        try:
            id=i["id"]
            name=i["name"]
            print("    正在获取",name,sep="")
            url=web.format(id)
            w=requests.get(url)
            l=json.loads(w.text)["items"]
            print("        预计获取100条评论")
            for j in l:
                user=[j["user"]["id"],j["user"]["nickname"]]
                text=j["content"]
                lst,id_list=check(lst,text,user,id_list,id)
            print("        获取了",len(lst)-last,"条评论",sep="")
            last = len(lst)
            print("现在已获取", last, "条评论", sep="")
        except:
            pass
save(lst)


回复

上一页第 1 页 / 共 1 页下一页
mornwindmornwind

ddd

点赞0


评论


_HHHHHHHHHH__HHHHHHHHHH_

666

点赞0


评论


judgment07judgment07

写的很好,下次不要在写了

很刑啊···思路大致一样,我似乎还可以优化一下我的程序(也是Py)

不过这是教程帖吗?真的能让人学会吗···

点赞7


评论

好的好的 下次丕定不写了

(来自风纪的认可)

主要是分析 不完全是教程

头像是本人吗?

???

QWQ!

最近写了一个自动挖坟机器人,我正在烤绿是否运行……

黄金坟工

举报风纪

风纪怎么了?

楼下有人冒充07()

白给喵啊 等着风纪来办他吧

不是我。。。。。

有截图 上一个这么干的封了7天

怎么了

这下不一样了吧

升级版07!=0B


mornwindmornwind

ddd

点赞0


评论


proxyproxy

好厉害!

点赞0


评论


judgment20judgment20

对哦可以用爬虫摸鱼(划去)找业绩诶!我也去写个emotion_doge

点赞1


评论

阿魔看着一次几百个帖号的反馈陷入了沉思


proxyproxy

我没太看懂,但我大为震撼

点赞0


评论


judgment10judgment10

看不懂,老老实实翻帖子吧(

点赞2


评论


星野残翼星野残翼

《风纪摸鱼大会现场》

点赞2


评论

风纪:这是对阿魔优良传统的发扬

瞎说什么大实话

瞎说什么大实话

6(


AucunAucun

可能不是爬虫,是AI人工智( ),源代码:https://g i t h u b.com/T u r i n g-P r o j e c t/A n t i F r a u d C h a t B o t(所有要摸鱼的风纪记得感谢我

点赞1


评论

这个不是AI对话吗

特别适合与喷子对喷

不过我也有管理方面的人工智( )的源代码

az,Too many requests,也没几个请求吧?


AucunAucun

感谢风纪07,你的代码写的太”好“了,我多年的低血压被笑好了

点赞1


评论

??

是吧

什么意思···

你没懂我的意思吗?

首先这不是我写的

你理解错了,我是让你写的更好一点

你行你上XwX


underlineunderline

啊这,我去

点赞0


评论


初夏晴雨初夏晴雨

emotion_doge风纪的特有优势直接被挖走了(

点赞1


评论


SCS_user_LoeheodVOQSCS_user_LoeheodVOQ

我不明白为啥不用xpath,更加安全()()

点赞0


评论

啊不对,我看错了()()()


白给坤白给坤

不好差点泄露自己的cookie(汗)

点赞0


评论

66没人了吗

07可不能偷懒

我可以看到啊

改密码了,惊:你可以看到()但没完全看到


白给坤白给坤

奇怪?怎么发不出去

点赞0


评论

?????回复我这么小心07

删掉??又不是我来发,我都发不了了(禁言)


白给坤白给坤

于是我来分享一下自动评论(打广告)的py代码,仅供参考。为了防止大家都打广告,这个cookie你们肯定是用不了的

from requests import *
from time import sleep
from random import choice
from json import loads, dumps
while True:
    nw = get('https://api.cod喵/creation-tools/v1/pc/discover/newest-work?offset=0&limit=5')
    _dict = loads(nw.text)
    for infos in _dict['items']:
        item = list(infos.items())
        print(item[0][1])  # 作品id
        print(item[1][1])  # 作品名称
        print(item[5][1])  # 作者昵称
        cookie = 'authorization=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJDb2RlbWFvIEF1dGgiLCJ1c2VyX3R5cGUiOiJzdHVkZW50IiwiZGV2aWNlX2lkIjowLCJ1c2VyX2lkIjoxMjU4MzkxNDI1LCJpc3MiOiJBdXRoIFNlcnZpY2UiLCJwaWQiOiI2NWVkQ1R5ZyIsImV4cCI6MTY3NjI2NTExOSwiaWF0IjoxNjcyMzc3MTE5LCJqdGkiOiIzMGVlYjUwZC1iMzZjLTQzNGMtYWYxYy1jMWQwZmNmNmNiODQifQ.AYeqIBA369kYSuQmnt3hlIq1703kdcgGjtVBvodbXLQ;acw_tc=2f624a2216723771197106156e4fb824b63e759c543b470ca6429216cfa2e4'
        headers = {
            "Content-Type": "application/json",
            "User-Agent": 'Mozilla/5.0 (Windows NT 5.1rv: 21.0) Gecko/20100101 Firefox/21.0',
            'cookie': cookie
        }
        sentents = (
            '【自动】{nick_name}的作品不错哟~继续加油(加广告)',
            '【自动】很好!继续做出优秀作品吧(加广告)',
            '【自动】{nick_name}的不错哟~(加广告)',
            '【自动】{work_name}->这个作品我看好哟~(加广告)'
            '【自动】{nick_name}继续加油,作品{work_name}很好!(加广告)'
        )
        item=list(infos.items())
        content=choice(sentents).format(work_name=item[1][1],nick_name=item[5][1])
        p=post(r'''https://api.cod喵/creation-tools/v1/works/{}/comment'''.format(item[0][1]),
                headers=headers, 
                data=dumps({'content': content}))
        print(p.text, p)
        p = post(r'https://api.cod喵/nemo/v2/works/{}/like'.format(item[0][1]),
                    headers=headers,
                    data=dumps({}))
        print(p.text, p)
        print(item[1][1], item[0][1])

点赞1


评论

大家一定不要想我学习【doge】【转】

为了防止风纪偷懒,我只能这么正义的做了

没事,没有cookie而已,叫隔壁伴雪找一个就行

cookie可不是随便就有人给你的哦

按照这段代码 我写了一个专门举报你的广告评论的程序(doge)

你很勇哦

无聊死了,整活中

看下面

小心封号

啊不能分享吗,大多数人都不知道自己的cookie吧,只是学习

我是说伪装风纪

没事,cookie是找出的


UT猫UT猫

Python哪儿学的?我除了爬虫一个也不晓得(doge

点赞0


评论

(一部分的)编程猫定制课 以及(通过NCRE教材,CSDN等)自学

csdn.net


Ctrl_VCtrl_V

真6

点赞0


评论


一个STUB用户_6923702一个STUB用户_6923702

xdm晚上喵鱼

这里给个余弦相似度判断文本相似度的Python算法(可能喵山 见谅

def compStr(s1 = '',s2 = ''):
    s1v = [];
    s2v=[];
    
    a = set(s1+s2);

    for i in a:
        s1v.append(s1.count(i));
        s2v.append(s2.count(i));
    print(s1v,s2v);
    i,j,k = 0,0,0;
    for p in range(0,len(s1v)):
        i+=s1v[p]*s2v[p]
    for p in s1v:
        j+=p**2
    j = math.sqrt(j)
    for p in s2v:
        k+=p**2
    k = math.sqrt(k)
    res = float(i)/j/k
    return res

点赞0


评论

挺好的


mornwindmornwind

查重可以用difflib库

点赞0


评论

()


AokenAoken

ddd

点赞0


评论


mornwindmornwind

ddd

点赞0


评论


仙之鹤仙之鹤

666

点赞0


评论


旁观者JErS旁观者JErS

为什么不直接用编程猫api获取帖子内容

点赞0


评论

效率不高

获取内容的话需要每个帖子发一个请求