【发布时间】:2018-07-18 05:47:37
【问题描述】:
我使用漂亮的汤和 python 请求从网站主要 html 源中的辅助 url 获取了一些数据(我认为这就是所谓的动态引用),它是 .js 文件链接的形式。使用美丽的汤我获得了数据(列表列表),但它都是字符串格式,长度约为 16000+。它将每个条目、逗号等视为一个条目。虽然后来我能够使用 selenium 获得我需要的数据,但是,有没有办法将我拥有的字符串数据转换为列表。
主 url/网站引用了一个示例辅助 url。 让我们说这个,
http://www.tennisabstract.com/cgi-bin/player.cgi?p=KeiNishikori
当我转到它的 html 代码时,它会引用下面这个文件中的数据。
<script type="text/javascript"
src="http://www.minorleaguesplits.com/tennisabstract/cgi-
bin/jsmatches/KeiNishikori.js"></script>
但是当我从这里提取数据时(我需要一个名为 matchmx 的变量),我得到了类似的东西,
[[“20170102”,“布里斯班”,“硬”,“A”,“L”,“5”,“3”,“”,“F”,“6-2 2-6 6-3 "、"3"、"格里戈尔·季米特洛夫"、"17"、"7"、""、"R"、"25.6344969199"、"188"、"BUL"、"0"、"108"、"4"、 “0”、“69”、“49”、“36”、“9”、“12”、“2”、“5”、“7”、“2”、“77”、“52”、“41” "、"12"、"13"、"5"、"7"、"1"、"20170107-M-Brisbane-F-Grigor_Dimitrov-Kei_Nishikori.html"、""、""、"2017-M020-300 ", "", "", ""],
[“20170102”、“布里斯班”、“硬”、“A”、“W”、“5”、“3”、“”、“QF”、“6-1 6-1”、“3 ”、“乔丹汤普森”、“79”、“”、“WC”、“R”、“22.7049965777”、“”、“澳大利亚”、“0”、“61”、“3”、“0”、“ 34”、“19”、“18”、“10”、“7”、“0”、“0”、“1”、“2”、“47”、“28”、“15”、“5” , “7”, “3”, “8”, “2”, “”, “”, “”, “2017-M020-295”, “”, “3”, “2”],.... . 依此类推,但所有这些都作为单独的字符串给了我类似 1000 的长度。怎么做才能将它转换成最好的列表列表或如何使用它,以便最终我可以将它加载到数据框
【问题讨论】:
-
您可能可以使用
json模块。
标签: python string web-scraping beautifulsoup python-requests