猫史档案馆


【异步爬虫】帖子刷浏览

用户:wrmdcxywrmdcxy查看:84 回复: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


评论


LAG的1048576一枚LAG的1048576一枚

 

如果:程序生成进程

进程生成线程

线程在做协程

没错

点赞0


评论


Yip_SumYip_Sum

用的是啥?

点赞0


评论


蕉饼蕉饼

Safari?

点赞0


评论


SGgs魔神修罗SGgs魔神修罗

厉害!

加入我们工作室吧!

我们真的需要你!

点赞0


评论


CHN_流星CHN_流星

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

点赞0


评论


名字是什么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


评论


無一郎無一郎

太有用了

点赞2


评论


無一郎無一郎

我想加一个

while True:

点赞1


评论


星空之忆星空之忆

emotion_doge不能帮我打个马赛克吗

点赞0


评论


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


评论


陀螺哥陀螺哥

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

点赞0


评论


捕捉友军!用Sublime Text

点赞0


评论


蒟蒻OIer1048576蒟蒻OIer1048576

dd

点赞0


评论


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

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

点赞0


评论


蒟蒻OIer1048576蒟蒻OIer1048576

点赞0


评论


_someone__someone_

我要刷渠源的退猫贴

点赞0


评论


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

eee

点赞0


评论