我从这个URL的表中抓取一些公开可用的零售数据:https://502data.com/retailers
我的目标是用python为每一列创建一个列表,例如一个包含web表该列中所有条目的“Name_list”和“country_list”等等。在
下面是我开始使用scrape的代码:
r = requests.get(url_to_scrape)
soup = BeautifulSoup(r.text, 'html.parser')
all_text = soup.get_text()
在我看来,我的all\U text变量可能没有必要。看来一定有比我现在意识到的更巧妙的方法来做到这一点。例如:
^{pr2}$上述结果:
u', function($scope, $filter) {\n $scope.retailers = [{"licensenumber":"414876","name":"MAIN STREET MARIJUANA","city":"VANCOUVER","county":"CLARK","year":2017,"month":5,"sales":41170232.357500,"tax":14971101.020000,"recentSales":1374866.000000,"recentTax":508700.000000,"monthName":"May"}, ...
我可以在以后看到$范围零售商=我把我想要的所有信息都以一种易于解析的方式存储。在
我只是不太熟悉Beautiful Soup,不知道在这个表中循环使用Soup或all-tu text变量,并从web表的每一行中提取数据的最佳命令。在
为初学者寻找这个问题的具体解决方案以及任何一般的美化小组建议。在
因为这实际上不是您想要解析的HTML,而是JavaScript代码,所以我要么使用JavaScript解析器,比如^{} ,要么使用一个正则表达式:
这里的括号表示"capturing group",反斜杠用于转义字符。在
请注意,我直接对页面源应用表达式,而根本没有使用
BeautifulSoup
。不过,我们可以使用它来定位这个script
元素,然后将表达式应用于script
元素的文本。在相关问题 更多 >
编程相关推荐