猫史档案馆


【异步爬虫】帖子刷浏览

用户:wrmdcxywrmdcxy查看:42742 回复:22 评论:84 创建时间:2020-05-07T10:51:11


话不多说,先随便找一个帖子

center_image

浏览是7909。

import aiohttp,asyncio
from threading import Thread
times=1
headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; ) AppleWebKit/537.36 (KH喵L, like Gecko) Chrome/81.0.4044.92 Safari/537.36"}
async def visit(pid):
	global times
	for x in range(5):
		async with aiohttp.ClientSession() as session:
			async with session.get("https://api.codemao.cn/web/forums/posts/"+pid+"/details") as resp:
				print(times,":visit ",pid,"\tstatus ",resp.status,sep="")
				times+=1
def start():
	new_loop = asyncio.new_event_loop()
	asyncio.set_event_loop(new_loop)
	loop=asyncio.get_event_loop()
	loop.run_until_complete(asyncio.gather(visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393'),visit('290393')))#帖子的id


def _main_():
	for x in range(5):
		threads=[Thread(target=start) for x in range(6)]
		for t in threads:
			t.setDaemon(True)
			t.start()
		for t in threads:
			t.join()

def _mmain_():
	for x in range(5):
		threads=[Thread(target=_main_) for x in range(6)]
		for t in threads:
			t.setDaemon(True)
			t.start()
		for t in threads:
			t.join()

_mmain_()

来看看结果。center_image

center_image

center_image

天哪电脑要卡喵了!!

这这这运行的好慢啊。。。。。。

center_image

center_image

浏览17823


回复

上一页第 1 页 / 共 1 页下一页
Tesla_用户4477974AQATesla_用户4477974AQA

eee

点赞0


评论

哈哈哈哈哈


TobylaiTobylai

.......用多线程

点赞0


评论

和协程。

速度快到爆


HeyMHeyM

谢谢提醒,我知道接下来该怎么做了滑稽

点赞0


评论

哈哈哈嘿

我觉得DDos

多线程嘛

嗯嗯


LAG的1048576一枚LAG的1048576一枚

 

如果:程序生成进程

进程生成线程

线程在做协程

没错

点赞0


评论

鹅鹅鹅

进程——线程1(并发6)——线程2(并发6)——协程(并发40)


Yip_SumYip_Sum

用的是啥?

点赞0


评论

师傅!!!

又见面了

师傅,你有QQ吗

有。

加我:239911906

多线程&协程


蕉饼蕉饼

Safari?

点赞0


评论

???多线程和协程

异步编程async和await

和“多线程”

这是Chrome


SGgs魔神修罗SGgs魔神修罗

厉害!

加入我们工作室吧!

我们真的需要你!

点赞0


评论

不好意思我不想加入工作室


CHN_流星CHN_流星

厉害!加入我们工作室吧!我们真的需要你,欢迎

点赞0


评论

不好意思我不想加入工作室

那你可以告诉我这个方法怎么用吗?或者为什么投稿猴急不审核

这个直接运行,那个。。猴急应该是没时间把。。。或者是作品有点水。。。。我也经常这样

在那里直接运行?

当然是直接编译啦

Python?

当然…………

是吗?

但显示有非法字符……

就是这一行:async def visit(pid):

咋办

我这里没有

你把你的代码再复制一次吧

发到这里

发了

哪呢?


名字是什么a名字是什么a

wow

点赞0


评论


wrmdcxywrmdcxy

import aiohttp,asyncio
from threading import Thread
times=1
headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; ) AppleWebKit/537.36 (KH喵L, like Gecko) Chrome/81.0.4044.92 Safari/537.36"}
async def visit(pid):
	global times
	for x in range(3):
		async with aiohttp.ClientSession() as session:
			async with session.get("https://api.codemao.cn/web/forums/posts/"+pid+"/details") as resp:
				print(times,":visit ",pid,"\tstatus ",resp.status,sep="")
				times+=1
def start(pid):
	new_loop = asyncio.new_event_loop()
	asyncio.set_event_loop(new_loop)
	loop=asyncio.get_event_loop()
	loop.run_until_complete(asyncio.gather(visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid),visit(pid)))


def _main_(pid):
	for x in range(5):
		threads=[Thread(target=start,args=(pid,)) for x in range(6)]
		for t in threads:
			t.setDaemon(True)
			t.start()
		for t in threads:
			t.join()

def _mmain_(pid):
	for x in range(5):
		threads=[Thread(target=_main_,args=(pid,)) for x in range(6)]
		for t in threads:
			t.setDaemon(True)
			t.start()
		for t in threads:
			t.join()

_mmain_('290393')

点赞0


评论

e点是什么?

把它复制到海龟编辑器里,然后把第四行的"喵"改成"T M"(去掉空格),最后点运行

哦哦


無一郎無一郎

太有用了

点赞2


评论


無一郎無一郎

我想加一个

while True:

点赞1


评论

不用。

运行一次要好久的。每次我都是强制终止的,你应该看到下面的“[Canceled]”


星空之忆星空之忆

emotion_doge不能帮我打个马赛克吗

点赞0


评论

为什么要呢?/doge再说了截图工具好像是没有马赛克的/doge


StarGameStarGame

nb

点赞0


评论


LAG的1048576一枚LAG的1048576一枚

import aiohttp,asyncio
from threading import Thread
times=1
headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; ) AppleWebKit/537.36 (KH喵L, like Gecko) Chrome/81.0.4044.92 Safari/537.36"}
async def visit(pid):
	global times
	for x in range(3):
		async with aiohttp.ClientSession() as session:
			async with session.get("https://api.codemao.cn/web/forums/posts/"+pid+"/details") as resp:
				print(times,":visit ",pid,"\tstatus ",resp.status,sep="")
				times+=1
def start(pid):
	new_loop = asyncio.new_event_loop()
	asyncio.set_event_loop(new_loop)
	loop=asyncio.get_event_loop()
	loop.run_until_complete(asyncio.gather(*[visit(pid) for i in range(100)]))


def _main_(pid):
	for x in range(5):
		threads=[Thread(target=start,args=(pid,)) for x in range(6)]
		for t in threads:
			t.setDaemon(True)
			t.start()
		for t in threads:
			t.join()

def _mmain_(pid):
	for x in range(5):
		threads=[Thread(target=_main_,args=(pid,)) for x in range(6)]
		for t in threads:
			t.setDaemon(True)
			t.start()
		for t in threads:
			t.join()



_mmain_("291833")

点赞0


评论

这。。。。。。100个协程。。

不卡!

不卡是不卡,但是会不会被认为是攻击呢

???哦吼???

如果同IP短时间内访问多次会认为是攻击行为而断开连接

最大的问题是我不会开始/doge(求教)

e点运行


陀螺哥陀螺哥

大佬,怎样给作品刷浏览?求代码

点赞0


评论

如果刷浏览,你可能会被永久封号

hhh没有被封

就用上面的代码。有一些东西被屏蔽了,自己替换一下。还要下载aiohttp

你刷了是吧,我去找猴急

hhh,但不只我一个。据我所知某些帖子的浏览涨得很快。所以可以断定不只我一个

我是说作品

作品是刷不了的

如果该ip访问过就不会加浏览

这个软件叫啥

???你指什么

叫360浏览器自动刷新,但太慢

听说可以用叫什么‘连点器’刷,搞不清是啥

要是能刷赞就好玩了

连点器的效率低。而且你的内存使用可能会喵

这个连点器刷出来的,不仅慢还会被查出来

刷赞是不可能的

我要的是你运行程序的软件

叫啥名

等等,连点器是什么

我这个也会被查出来。

Python。

这个你都不知道??

那个软件只是编辑器

您这个python界面有点夸张啊

难道说我pygame学多了?

这个只是编辑器!这个只是编辑器!这个只是编辑器!这个只是编辑器!这个只是编辑器!这个只是编辑器!这个只是编辑器!这个只是编辑器!这个只是编辑器![喵循环]

额。

其实你用的不叫python,叫做visdcode

还真有人刷赞!https://shequ.codemao.cn/community/200115活动喵公布的

这是sublime!这是sublime!这是sublime!这是sublime!这是sublime!这是sublime!这是sublime!这是sublime!这是sublime!这是sublime!这是sublime!这是sublime![再次喵]

虽然用了sublime,但是Python还是要配置的!虽然用了sublime,但是Python还是要配置的!虽然用了sublime,但是Python还是要配置的!虽然用了sublime,但是Python还是要配置的!

啊这

(⊙o⊙)


捕捉友军!用Sublime Text

点赞0


评论


蒟蒻OIer1048576蒟蒻OIer1048576

dd

点赞0


评论

捕捉


Jailene1(封禁账号)Jailene1(封禁账号)

我用的代码编辑器不是这个而是……微软开发的!

点赞0


评论

VSC?


蒟蒻OIer1048576蒟蒻OIer1048576

喵

点赞0


评论


_someone__someone_

我要刷渠源的退猫贴

点赞0


评论


悠闲的阿米巴cucJ悠闲的阿米巴cucJ

eee

点赞0


评论