加速数据抓取和mysql插入
我目前正在抓取一个网站tat提供的数据表。结构如下加速数据抓取和mysql插入,mysql,python-3.x,xpath,web-scraping,Mysql,Python 3.x,Xpath,Web Scraping,我目前正在抓取一个网站tat提供的数据表。结构如下 <table> <tr> #This is the first row <td> data 1 </td> ..... </tr> .... </table> 我一直在计时,看看为什么和在哪里需要这么长的时间,我得到了以下信息 Overall table time 16 seconds Getting the data and generating
<table>
<tr> #This is the first row
<td> data 1 </td>
.....
</tr>
....
</table>
我一直在计时,看看为什么和在哪里需要这么长的时间,我得到了以下信息
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张桌子,这将花费我超过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
嗯,我不知道是否一次刮掉整张桌子,或者用不同的方法会显示不同的结果,但我需要一些方法来加快速度
谢谢尝试插入它。还有,数据库托管在哪里?连接也可能是瓶颈。在同一台计算机中。但无论如何,我做了timeit,问题是从标签中获取每个标签中存储的所有信息。
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