Web抓取时从脚本中提取字典中存在的信息

时间:2020-11-10 07:51:39

标签: python web-scraping beautifulsoup

我正试图刮擦

URL =“ https://www.bankmega.com/en/about-us/bank-mega-network/”

提取银行名称和地址信息。我可以在脚本标签中看到所需的信息。如何提取它?

import requests

from bs4 import BeautifulSoup

import json

r = requests.get(URL)

soup = BeautifulSoup(r.content)

soup.find_all('script',type="text/javascript")

1 个答案:

答案 0 :(得分:1)

如果您能够选择相关的Javascript,最简单的方法可能是在脚本文本中搜索“ [”和“]”的首次出现,因为这两个都是字典的边界。如果您只能将内容(包括方括号)放入单独的字符串中,则可以使用json-library将字符串转换为python对象。下面的代码在执行字符串清理时有点难看,但确实可以完成工作。

>>> a = [[],[],[]]
>>> b = [[],[],[]]
>>> for c in [*a,*b]:
    c.append("derp")

    
>>> a
[['derp'], ['derp'], ['derp']]
>>> b
[['derp'], ['derp'], ['derp']]
>>>