我目前正在抓取一个网站tat提供的一个数据表。结构如下
<table>
<tr> #This is the first row
<td> data 1 </td>
.....
</tr>
....
</table>
假设最后有一个20行10列的表。我的脚本必须从一个表转到下一个表,在100到1000个表之间。
因此,我使用xpath定位每一行,将其数据插入两个表中,然后转到下一个表。一个伪代码
for table in tables: #Between 100 and 1000 tables
for row in table:
Here I get from the row each td tag and returns a list
Insert in table 1 half of the data, and get the id of the row inserted
insert in table 2 the other half with the id of the first table row, to link both.
我´我一直在计时,看看为什么这需要这么长时间,我得到了以下
Overall table time 16 seconds
Getting the data and generating the list for one row 0,453 secs
Inserting data in table 1 0,006 secs
Inserting data in table 2 0,0067 secs
这意味着,如果我必须刮掉所有1000张table,这将花费我10个多小时,这是太多的时间,考虑到当我使用美丽的汤整体时间在半小时和1:30之间。
看到问题是从每一行的每一个td标记中获取文本数据,有什么方法可以加快它的速度吗?本质上我在剧本的那部分所做的是
data_in_position_1=row.find_element_by_xpath('.//td[1]').text
.....
data_in_position_15=row.find_element_by_xpath('.//td[15]').text
list=[data_in_position_1,.....,data_in_position_15]
return list
嗯,我不知道´我不知道是否一次刮掉整个table,或者用不同的方法会显示出不同的结果,但是我需要一些方法来加速这个过程。
谢谢
暂无答案!
目前还没有任何答案,快来回答吧!