上次的ACwing通过题目统计器需要账号密码才能用
就会考虑账号安全问题
这次使用cookie来进行数据统计
关于cookie是什么,请自行百度或点击下面的链接(有点网络基础的都懂)
https://baike.baidu.com/item/cookie/1119?fr=aladdin
关于如何获得cookie,请自行百度(懂点F12的都会)
我已经用python的第3方库将此文件转换成了exe运行程序,运行此exe不需要python,已方便大家使用
已上传百度网盘
链接: https://pan.baidu.com/s/1RS_DhRUh68JrPpkkWc55EA
提取码: 0cvn
贴源码
import re
import time
import requests
from bs4 import BeautifulSoup
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36',
'Referer':'https://www.acwing.com/problem/',
'Cookie':''
}
k=requests.session()
k.headers=headers
k.headers['Cookie']=input("输入您的Cookie: ")
url1='https://www.acwing.com/problem/'
tot=0
out1=open('data.txt','w')
#开始搜索数据
print('开始搜索数据')
for page in range(1,10000):
#print('page:',page)
url=url1+str(page)+'/'
dem=k.get(url)
dome=BeautifulSoup(dem.text,'html.parser')
if len(dome.tbody.contents)<=1:
break
for i in dome.tbody.contents:
try:
if len(re.findall('通过',str(i.contents[1]))):
pass
#print("通过此题")
else:
continue
tot+=1
print(i.contents[5].a.string[:-20])
print('题目编号: ',i.contents[3].span.string)
print('通过率: ',i.contents[7].span.string)
print('困难程度: ',i.contents[9].string)
out1.write('题目编号: '+i.contents[3].span.string+'\n题目难度:'+i.contents[9].string+'\n\n')
except:
pass
out1.close()
print('搜索结束')
print('累计通过题目',tot,'道')
print('数据已经存储到 data.txt')
input()
怎么用啊
好家伙我直接好家伙
好家伙,你就是创意工坊是吧。
这个爬虫是通过,拼接网址请求1w道题看是一道一道否通过嘛?…那这会对acwing造成很大的并发的,,,同时要用的人多了,会把acwing给抓崩的....其实这个题目通过统计数量,也就是y总数据库一个字段的事…
目前此爬虫统计一个人的数据只会抓取55个网页
y总不是还没写嘛。。。
我其实看不懂Python..hh,,,只看见有一个1到1w的循环…那这应该没啥问题..我下载下来玩玩hh,大佬太强了,Orz%%%
1到1w的是枚举题库的多少页,目前题库只有55页,抓取55页过后会执行break语句
好的大佬学到了,Orz%%%
QWQ
针不戳,如果能做成浏览器插件的形式会更好
应该可以用js写成插件,但是菜鸡不会QWQ
已经下载了,孩子很喜欢,敏感肌也可以用(滑稽)
话说ACwing真的可以加通过题目统计功能这都有孩子了
这都有孩子了