排行榜

  • 用户榜
  • 标签榜
  • 冲榜分奖金

频道

最新最热悬赏待采纳 筛选
  • 0

    回答

  • 9

    浏览

clc; clear; load('musk.mat'); % load('musk.mat'); % data = musk; lablel_musk =data(:,1); testdata = data(:,2:18); testlabel =data(:,1); dataMat = data(1:2000,1:100); labels = lablel_musk(1:1000,1); type=1; k = 5 ; arrtest = [] ; accrancy = []; %测试 lastlen  = 1; for j =1:10     error = 0; len = j*1000;     for i = 1:len classifyrsult = KNN3(testdata(i,:),dataMat(1:len,:),labels(1:len,:),k,type);  [classifyresult labels(i)]         if(classifyrsult~=testlabel(i))             error = error+1;         end     end lastlen =len; fprintf('准确率:%\n',1-(error/len)) fprintf('错误个数:%\n',error) arrtest = [arrtest j]; accrancy = [accrancy 1 -(error/len)]; end fprintf('平均准确率:%d',mean(accrancy)); polt(arrtest * 10,accrancy,'-b*'); xlabel('测试记取值百分比'); ylabel('准确率'); title('交叉验证')     出错 jcyz (第 21 行) classifyrsult = KNN3(testdata(i,:),dataMat(1:len,:),labels(1:len,:),k,type);

  • 5

    回答

  • 52

    浏览

碰到一个难题,有500万组数据,一组数据的个数大概在1-200之间,要按照频次对这200个数当中的组合出现的次数由多到少进行排序。这算法要怎么实现,自己写了一套,跑了一天没出结果 200个数是下面截图当中这种形式的数组组合,200个是指截图当中的一行有200个,例如截图的第一行是3个 然后这一行200个是从大概3000个样本当中挑出来的 排序是指一行200个当中挑出来的A+B,或者A+B+C+....+ 的排序 例如第一行当中的064475 与411609 ,064475与064487,411609与064487,064475 与411609 与 064487 这4种每种在500条中的出现的次数,然后每一行有与第一行不同的组合,都要统计出次数,然后最后整个进行排序  

  • 4

    回答

  • 47

    浏览

如上图,假设有这么一个类似的表,我想要知道表中字段值为1的字段,并将其列名组合输出。 目的是得知存在多少不同组合,并统计出不同组合出现的频数。 代码苦手是想用excel实现的,但实际上有上百个字段,数据量也不少,所以希望能用python解决。 急!!!希望能得到完整的代码解答!!!!

  • 4

    回答

  • 15

    浏览

如题,还是说将所有的变量放到算法里就好了。变量太多运行会慢,可不可以先看相关性,挑选相关性高的变量放到算法里。 感谢!

  • 0

    回答

  • 8

    浏览

麻烦请教一下各位,我现在有如下一个表格 想要经过汇总分析之后,自动生成下面这样一段话,并且还能够随着添加条目或者修改数据实时更改: “x处有A2个(编号1、2),y处有C1个(编号3)、D1个(编号4)......” 请问有没有尽量不用编程的实现的方法?比如利用已有软件的功能,如excel、filemaker等,谢谢各位了!

  • 1

    回答

  • 7

    浏览

import numpy as np import pandas as pd import sklearn from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier from sklearn.metrics import accuracy_score, classification_report def label(s): it={b'0':0, b'1':1 } return it[s] #1.读取数据集 path='d://SVM.data' data=np.loadtxt(path, dtype=float, delimiter=',', converters={2:label}) #2.划分数据与标签 x,y=np.split(data,indices_or_sections=(2,),axis=1) #x为数据,y为标签 x=x[:,0:2] train_X,test_X,train_Y,test_Y =train_test_split(x,y, random_state=1, train_size=0.6,test_size=0.4) def knn_classifier(train_X, train_Y, test_X, test_Y, title): print("KNN分类器", title) knn = KNeighborsClassifier(algorithm='auto', leaf_size=10, metric='minkowski', metric_params=None, n_jobs=1, n_neighbors=2, p=2, weights='uniform') #应该就是这一句话的问题 knn.fit(train_X, train_Y) # 加载数据集 predict_Y = knn.predict(test_X) print("训练准确率为{:.3f}%".format(accuracy_score(test_Y, predict_Y) * 100)) print(classification_report(test_Y, predict_Y))  

  • 0

    回答

  • 3

    浏览

我看人家都是求特征和特征的对称不确定性,特征和特征集合的应该怎么求呀

  • 3

    回答

  • 27

    浏览

x_dr.shape (24261, 2) 数据其中 target有12类 N = 12 y = np.random.rand(N) plt.scatter(x_dr[:,0],x_dr[:,1],c=y) plt.show() 报错'c' argument has 2 elements, which is not acceptable for use with 'x' with size 24261, 'y' with size 24261.   我已经将原高维度数组降维至2维数组,但是绘图时依旧需要我提供24261大小的Color值,有办法将color值设为target类型大小么?  

  • 0

    回答

  • 4

    浏览

可以的话,可否给出公式                        

  • 3

    回答

  • 13

    浏览

      想探究一下优秀企业的名字的特征,比如字符长度,难易程度,地域特点,行业特点等。有没有什么方法可以用。 目前比较没有头绪,有没有大佬来指点指点。

  • 1

    回答

  • 20

    浏览

## 1.导入第三方包 import pandas as pd import numpy as np import lightgbm as lgb import xgboost as xgb from catboost import CatBoostRegressor from sklearn.linear_model import SGDRegressor, LinearRegression, Ridge from sklearn.preprocessing import MinMaxScaler from sklearn.model_selection import StratifiedKFold, KFold from sklearn.metrics import log_loss from sklearn.model_selection import train_test_split from sklearn.preprocessing import OneHotEncoder from tqdm import tqdm import matplotlib.pyplot as plt import time import warnings warnings.filterwarnings('ignore') import multiprocessing import re def gen_tsfresh_features(): # 数据读取 data_train = pd.read_csv("./datasets/train.csv") # print(data_train.shape) # data_train = data_train.loc[99000:, :] # print(data_train.shape) # print(data_train.head()) # print(data_test_A.shape) # data_test_A = data_test_A.loc[19000:, :] # print(data_test_A.shape) # print(data_test_A.head()) # 对训练数据处理 # 对心电特征进行行转列处理,同时为每个心电信号加入时间步特征time train_heartbeat_df = data_train["heartbeat_signals"].str.split(",", expand=True).stack() train_heartbeat_df = train_heartbeat_df.reset_index() train_heartbeat_df = train_heartbeat_df.set_index("level_0") train_heartbeat_df.index.name = None train_heartbeat_df.rename(columns={"level_1": "time", 0: "heartbeat_signals"}, inplace=True) train_heartbeat_df["heartbeat_signals"] = train_heartbeat_df["heartbeat_signals"].astype(float) # print(train_heartbeat_df) # 将处理后的心电特征加入到训练数据中,同时将训练数据label列单独存储 data_train_label = data_train["label"] data_train = data_train.drop("label", axis=1) data_train = data_train.drop("heartbeat_signals", axis=1) data_train = data_train.join(train_heartbeat_df) # print(data_train) # print(data_train[data_train["id"] == 1]) from tsfresh import extract_features print(data_train.info()) print(data_train.tail()) # 减少内存 data_train = reduce_mem_usage(data_train) data_train.heartbeat_signals = data_train.heartbeat_signals.astype(np.float32) # extract_features 中有函数不支持 float16 print('data_train done Memory usage of dataframe is {:.2f} MB'.format(data_train.memory_usage().sum() / 1024 ** 2)) print(data_train.info()) print(data_train.tail()) # 特征提取 from tsfresh.feature_extraction import ComprehensiveFCParameters settings = ComprehensiveFCParameters() # from tsfresh.feature_extraction import MinimalFCParameters # settings = MinimalFCParameters() from tsfresh.feature_extraction import extract_features train_features = extract_features(data_train, default_fc_parameters=settings, column_id='id', column_sort='time') # 特征提取 # train_features = extract_features(data_train, column_id='id', column_sort='time') # print(train_features) from tsfresh.utilities.dataframe_functions import impute # 去除抽取特征中的NaN值 impute(train_features) # print(f"train_features.columns:{train_features.columns} {len(train_features.columns)}") # from tsfresh import select_features # 按照特征和数据label之间的相关性进行特征选择 # train_features_filtered = select_features(train_features, data_train_label) train_features_filtered = train_features # 不错特征筛选 全部用于训练 # print(train_features_filtered) # print(f"train_features_filtered.columns:{train_features_filtered.columns} {len(train_features_filtered.columns)}") # 对测试数据处理 data_test_A = pd.read_csv("./datasets/testA.csv") # 对心电特征进行行转列处理,同时为每个心电信号加入时间步特征time test_heartbeat_df = data_test_A["heartbeat_signals"].str.split(",", expand=True).stack() test_heartbeat_df = test_heartbeat_df.reset_index() test_heartbeat_df = test_heartbeat_df.set_index("level_0") test_heartbeat_df.index.name = None test_heartbeat_df.rename(columns={"level_1": "time", 0: "heartbeat_signals"}, inplace=True) test_heartbeat_df["heartbeat_signals"] = test_heartbeat_df["heartbeat_signals"].astype(float) # print(test_heartbeat_df) # 将处理后的心电特征加入到训练数据中,同时将训练数据label列单独存储 data_test_A = data_test_A.drop("heartbeat_signals", axis=1) data_test_A = data_test_A.join(test_heartbeat_df) # print(data_test_A) # print(data_test_A[data_test_A["id"] == 1]) from tsfresh import extract_features # 减少内存 data_test_A = reduce_mem_usage(data_test_A) data_test_A.heartbeat_signals = data_test_A.heartbeat_signals.astype(np.float32) # extract_features 中有函数不支持 float16 print('data_test_A done Memory usage of dataframe is {:.2f} MB'.format(data_test_A.memory_usage().sum() / 1024 ** 2)) print(data_test_A.info()) print(data_test_A.tail()) # 特征提取 from tsfresh.feature_extraction import ComprehensiveFCParameters settings = ComprehensiveFCParameters() # from tsfresh.feature_extraction import MinimalFCParameters # settings = MinimalFCParameters() from tsfresh.feature_extraction import extract_features test_features = extract_features(data_test_A, default_fc_parameters=settings, column_id='id', column_sort='time') # 特征提取 # test_features = extract_features(data_test_A, column_id='id', column_sort='time') # print(test_features) from tsfresh.utilities.dataframe_functions import impute # 去除抽取特征中的NaN值 impute(test_features) # 测试数据的特征列与训练数据最终筛选出来的列对齐 # print(f"test_features.columns:{test_features.columns} {len(test_features.columns)}") test_features_filtered = test_features[train_features_filtered.columns] # print(f"test_features_filtered.columns:{test_features_filtered.columns} {len(test_features_filtered.columns)}") return train_features_filtered, data_train_label, test_features_filtered def reduce_mem_usage(df): start_mem = df.memory_usage().sum() / 1024 ** 2 print('Memory usage of dataframe is {:.2f} MB'.format(start_mem)) for col in df.columns: col_type = df[col].dtype if col_type != object: c_min = df[col].min() c_max = df[col].max() if str(col_type)[:3] == 'int': if c_min > np.iinfo(np.int8).min and c_max < np.iinfo(np.int8).max: df[col] = df[col].astype(np.int8) elif c_min > np.iinfo(np.int16).min and c_max < np.iinfo(np.int16).max: df[col] = df[col].astype(np.int16) elif c_min > np.iinfo(np.int32).min and c_max < np.iinfo(np.int32).max: df[col] = df[col].astype(np.int32) elif c_min > np.iinfo(np.int64).min and c_max < np.iinfo(np.int64).max: df[col] = df[col].astype(np.int64) else: if c_min > np.finfo(np.float16).min and c_max < np.finfo(np.float16).max: df[col] = df[col].astype(np.float16) elif c_min > np.finfo(np.float32).min and c_max < np.finfo(np.float32).max: df[col] = df[col].astype(np.float32) else: df[col] = df[col].astype(np.float64) else: df[col] = df[col].astype('category') end_mem = df.memory_usage().sum() / 1024 ** 2 print('Memory usage after optimization is: {:.2f} MB'.format(end_mem)) print('Decreased by {:.1f}%'.format(100 * (start_mem - end_mem) / start_mem)) return df def lightgbm_train_test(train, label, test): # 简单预处理 train = reduce_mem_usage(train) test = reduce_mem_usage(test) ## 4.训练数据/测试数据准备 x_train = train x_train.reset_index(drop=True, inplace=True) y_train = label y_train.reset_index(drop=True, inplace=True) x_test = test x_test.reset_index(drop=True, inplace=True) # print("x_train.columns:", x_train.columns) # print("x_test.columns:", x_test.columns) x_train = x_train.rename(columns=lambda x: re.sub('[^A-Za-z0-9_]+', 'z', x)) x_test = x_test.rename(columns=lambda x: re.sub('[^A-Za-z0-9_]+', 'z', x)) # print("x_train.columns:", x_train.columns) # print("x_test.columns:", x_test.columns) print(x_train.shape, x_test.shape, y_train.shape) ## 5.模型训练 def abs_sum(y_pre, y_tru): y_pre = np.array(y_pre) y_tru = np.array(y_tru) loss = sum(sum(abs(y_pre - y_tru))) return loss def cv_model(clf, train_x, train_y, test_x, clf_name): folds = 5 seed = 2021 kf = KFold(n_splits=folds, shuffle=True, random_state=seed) test = np.zeros((test_x.shape[0], 4)) cv_scores = [] onehot_encoder = OneHotEncoder(sparse=False) for i, (train_index, valid_index) in enumerate(kf.split(train_x, train_y)): print('************************************ {} ************************************'.format(str(i + 1))) trn_x, trn_y, val_x, val_y = train_x.iloc[train_index], train_y[train_index], train_x.iloc[valid_index], train_y[valid_index] if clf_name == "lgb": train_matrix = clf.Dataset(trn_x, label=trn_y) valid_matrix = clf.Dataset(val_x, label=val_y) params = { 'boosting_type': 'gbdt', 'objective': 'multiclass', 'num_class': 4, 'num_leaves': 2 ** 5, 'feature_fraction': 0.8, 'bagging_fraction': 0.8, 'bagging_freq': 4, 'learning_rate': 0.1, 'seed': seed, 'n_jobs': 40, 'verbose': -1, } model = clf.train(params, train_set=train_matrix, valid_sets=valid_matrix, num_boost_round=2000, verbose_eval=100, early_stopping_rounds=200) val_pred = model.predict(val_x, num_iteration=model.best_iteration) test_pred = model.predict(test_x, num_iteration=model.best_iteration) print("val_y:", val_y.shape) val_y = np.array(val_y).reshape(-1, 1) val_y = onehot_encoder.fit_transform(val_y) print("val_y:", val_y.shape) print('预测的概率矩阵为:') print(test_pred) test += test_pred score = abs_sum(val_y, val_pred) cv_scores.append(score) print(cv_scores) print("%s_scotrainre_list:" % clf_name, cv_scores) print("%s_score_mean:" % clf_name, np.mean(cv_scores)) print("%s_score_std:" % clf_name, np.std(cv_scores)) test = test / kf.n_splits return test def lgb_model(x_train, y_train, x_test): lgb_test = cv_model(lgb, x_train, y_train, x_test, "lgb") return lgb_test lgb_test = lgb_model(x_train, y_train, x_test) ## 6.预测结果 temp = pd.DataFrame(lgb_test) result = pd.read_csv('./datasets/sample_submit.csv') result['label_0'] = temp[0] result['label_1'] = temp[1] result['label_2'] = temp[2] result['label_3'] = temp[3] result.to_csv('lightgbm_tsfresh_submit.csv', index=False) if __name__ == '__main__': multiprocessing.freeze_support() ## 2.读取数据 train, label, test = gen_tsfresh_features() ## 3.数据预处理 lightgbm_train_test(train, label, test)  

  • 0

    回答

  • 8

    浏览

对于一个分类问题,计算的特征A与类标签的SU比较大,说明A与分类标签的关系是很强的,会不会A对于分类效果有着副作用?也就是说,是不是SU只能用来判断关系强弱,而不能判断其是正作用还是副作用

  • 0

    回答

  • 11

    浏览

需要弄一个语义相关度分析 能够检索到给定词汇的语义相关词和关联度 最好是基于点互信息法的(其它的话可以具体沟通看看) 基于同义词词林、知网等语料库 有偿代做,对这方面一窍不通 预算RMB500左右

  • 3

    回答

  • 12

    浏览

请问LMM模型中估计值(estimate)具体含义是什么呀,Y为因变量,假定A相较于B,estimate=0.1,P<0.05,那么该如何解读呢?我在操作过程中把A,B两组赋值换了一下,estimate绝对值没变,符号相反,想不通是为什么?求大神们指点一下,谢谢!

  • 0

    回答

  • 4

    浏览

请问这样的话,是不是运行起来会很慢: for i in Set_book_id: book_id_nums = book_daily.select('add_users').where(book_daily.book_id == i).rdd.keys().collect() 是不是每次循环rdd都会冲头开始呢? 请求大佬指教了

  • 4

    回答

  • 58

    浏览

小弟现在的模型结果都有了,想画一个3D的图来比较各个模型之间的性能,但是不知道怎么画。求大佬指点。 标题  

  • 3

    回答

  • 35

    浏览

我想要把这个表格按照酒店名称和入住房型做聚类,去掉评论日期,把评论详情合并到一起。我利用pandas的聚合处理只能算出每个聚类有多少条评论。各位大神有什么方法么?

  • 3

    回答

  • 18

    浏览

  第一种方法:删除的节点拥有左子节点和右子节点,找出deleteNode的左子树的最大节点值(或者右子树的最小值),用 最大节点值覆盖要删除节点的值,然后处理删除最大节点值 第二种方法:让deleNode节点的左子节点直接顶替deleNode,“让deleNode节点的左子节点的最大节点“指向“delete节点的右子节点” 这两种方法有什么不一样吗,都能实现二叉树的节点删除。

回答 李根·
采纳率0%
16天前
  • 2

    回答

  • 5

    浏览

数据:静态三轴加速度(x,y,z)--(特征量),标签--(重力加速度g),使用全连接网络进行训练(测试中,层数测试3-4层) 数据采集,加速度计绕其中一轴旋转不同的角度(未知),然后静止采样,数据直方图如下: 权重采用随机初始化给定(正态分布),对数据进行了min-max归一化 1、三轴加速度为特征量,重力加速度为标签的这个思路是否适合用神经网络训练? 2、由于绕固定轴采集静态的加速度,所以会出现上述直方图的情况:某轴数据量极小,在0处波动,分辨率为0.0001;某轴数据会在-1到1之间波动,数据本身目前仅使用了Min-max归一化,是否需要改用标准化? 3、目前训练结果,Loss正常下降收敛,权重不变,可能是哪些原因造成的?  

  • 0

    回答

  • 15

    浏览

最近研究锂电池的在线参数辨识及SOC估计。在阅读文献过程中,发现在参数辨识这一块遇到些无法理解的地方,希望有懂的大神给指点一下哈。 疑问地方: 电池在工作时我们能得到它的外部参数(不考虑温度的话),只有输出电流 I ,和输出电压UL。 可是我在别人的论文中经常看到如下 经过Z变换再离散化得到: 也就是说辨识用到的数据E(k)是 电池端工作电压UL(k) 与 开路电压Uocv(k) 之间的差值,UL(k)可以实时测量得到,虽然有Uocv--SOC的对应曲线,但是当前的Uocv(k)不知道是多少呀,那这个E(k)是怎么得到的呢?(不理解的地方)

  • 4

    回答

  • 15

    浏览

a.Hive:多表关联: > 主表与从表1:inner join > 其余从表:left join > count(1):最大的表条数:1726276,最小的:38条 > 执行该hive作业后,大概10分钟后就会fail,具体报错日志: FATAL [main] org.apache.hadoop.mapred.YarnChild: Error running child : java.lang.OutOfMemoryError: GC overhead limit exceeded b.解决方法: > 通过日志可定位到是主表与从表1:inner join的时候fail掉了,有尝试过将从表1以及相关的涉及到的字段注释掉,结果是正常运行得; > 从表1与主表仍为:inner join的关系:尝试过将select后的字段全部注释掉,只:count(1),正常执行,结果显示的条数与主表接近; > 最后将主表与从表1的关联关系:修改:left join,发现就可以正常执行了,select后面跟的字段,也就可以正常显示出来了  

  • 0

    回答

  • 6

    浏览

目前可能需要大量的标注好的高速公路数据,有没有相关网站等,谢谢

  • 4

    回答

  • 39

    浏览

比如我有一组数据 60 20 36 78 95 35 10 6 68 63 82 30 我想选择大于50的数据,输出它所对应的行和列要怎么操作啊?

  • 0

    回答

  • 8

    浏览

有不有这么一个现成的软件? (1)安装在PC机上,可以抓取屏幕的截图; (2)能模拟鼠标做点击,具体点击位置可以根据需要去设定;(目的是点击翻页后再抓图) (3)其他软件平台能通过该软件的API接口调用该软件抓取的图片。   我目前的需求场景是:一台生产现场的设备,设备提供商不开放数据协议,无法直接获取设备信息和生产过程信息,只有抓屏解决。但是需要从屏幕提取的信息并不是某一个显示界面就直接显示得完的,所以涉及到鼠标点击切换界面的动作。之后将截取的这些屏幕图片传到第三方平台去做智能识别。

  • 4

    回答

  • 84

    浏览

这个网站是一个url对应着一个视频的 url是递进式的http://192.168.31.1/media/video.html?chapterCode=0103,http://192.168.31.1/media/video.html?chapterCode=0104 问题:响应的是不同地址(response.url),可是响应的内容是一样的(response.content),都是第一个地址的内容,望各位大牛能帮一下!  

  • 3

    回答

  • 27

    浏览

启动程序 按下开始 开始爬虫 0 Exception in Tkinter callback Traceback (most recent call last):   File "D:\Python\lib\tkinter\__init__.py", line 1702, in __call__     return self.func(*args)   File "E:/智联爬虫可视化/crawl_views.py", line 79, in usr_selection     Scrapy_start = Scrapy_start_1.run_1()   File "E:\智联爬虫可视化\crawl_ZL.py", line 61, in run_1     return self.get_data(self.r.text)  #调用函数,函数是爬去数据,上面的所有都是用来请求的,这个函数才是解析请求返回来的数据的   File "E:\智联爬虫可视化\crawl_ZL.py", line 79, in get_data     js = json.loads(text)   File "D:\Python\lib\json\__init__.py", line 348, in loads     return _default_decoder.decode(s)   File "D:\Python\lib\json\decoder.py", line 337, in decode     obj, end = self.raw_decode(s, idx=_w(s, 0).end())   File "D:\Python\lib\json\decoder.py", line 355, in raw_decode     raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)       附: #requests库来获取网页的请求信息 #bs4主要用来解析HTML标签,转换成一个树形结构      lxml、utf-8 #JSON模块,对数据进行编解码   json.dumps()、json.loads() #Tkinter库构造图形界面 #pandas库读取xlsx文件 #matplolib库数据分析,生成散点图

  • 0

    回答

  • 16

    浏览

用citespace处理德温特专利数据进行数据格式转换后,还需要进行去重或清理吗? 通过citespace对于wos数据除重方法 1968    1 1969    1 1970    1 1971    2 1972    2 1973    17 1974    30 1975    26 1976    27 1977    61 1978    161 1979    192 1980    175 1981    147 1982    123 1983    129 1984    88 1985    130 1986    103 1987    114 1988    126 1989    108 1990    134 1991    114 1992    93 1993    66 1994    68 1995    80 1996    67 1997    73 1998    82 1999    81 2000    83 2001    82 2002    91 2003    103 2004    93 2005    103 2006    154 2007    121 2008    163 2009    186 2010    202 2011    213 2012    224 2013    229 2014    219 2015    236 2016    225 2017    231 2018    188 2019    132 Total unique records exported: 5905 DIIDW Records found: 12079 WOS Records retained: 0 Scopus Records retained: 0 CSSCI Records retained: 0 Dimensions Records retained: 0 Overlapped Records: 0 通过wos去重处理结果是正确的吗?   另外,德温特专利数据下载后如何处理能得到每年专利数量,用于分析发展趋势? 请求大佬解答一下,万分感谢!!!  

  • 4

    回答

  • 22

    浏览

  使用R语言  数据包“rvest” 去爬取世界2011至2021年间的世界100强企业。 指定网站:(https://brandirectory.com/rankings/global/table). 这里爬出来的是2021年的世界500强, 请问要怎么改才能提取到前100强以及有没有更加有效率的方法爬取2011-2021年的十年间的方法呢? 还是就只能一年一年的爬取了。    url <-'https://brandirectory.com/rankings/global/2021/table' webpage <- read_html(url) xdata <- webpage %>% html_nodes("tbody tr") DataX = NULL for (i in 1:length(xdata)){ tmp <- xdata[i] %>% html_nodes("td") rank21 <- tmp[1] %>% html_text() %>% as.numeric() rank20 <- tmp[2] %>% html_text() %>% as.numeric() company = trimws(gsub("\n", "", tmp[3] %>% html_text())) country = trimws(gsub("\n", "", tmp[4] %>% html_text())) flag <- tmp[5] %>% html_nodes("img") %>% xml_attr("src") value21 <- tmp[5] %>% html_nodes("span") %>% html_text() value20 <- tmp[6] %>% html_nodes("span") %>% html_text() rate21 = trimws(gsub("\n", "", tmp[7] %>% html_text())) rate20 = trimws(gsub("\n", "", tmp[8] %>% html_text())) DataX = rbind(DataX, c(rank21, rank20,company, country, value21, value20, rate21, rate20)) }

  • 3

    回答

  • 46

    浏览

一段网页网页代码如下: <img src="/images/info/tubiao/cx01.gif" align="absmiddle" border="0" style="cursor:pointer;" onclick="getChartdata(30,0,1)"> 用Python selenium 模拟点击此元素,代码如下 btn = browserdriver.find_element_by_xpath('//img') browserdriver.execute_script('$arguments[0].click()',btn) 但执行后没有任何反应,也没有错误提示,这是为什么?大佬们这个问题要怎么解决?