繁体   English   中英

在 python 中抓取时双引号字符串中的双引号

[英]double quote within double quote string while scraping in python

我正在抓取几个列表,例如以下

[{"idEquipo":"0201009011", "nombreEquipo":"At. Saguntino", "urlEscudo":"./img/logosClubes/0201009.jpg"},\n   {"idEquipo":"0202137151", "nombreEquipo":"C.D. Roda "A"", "urlEscudo":"./img/logosClubes/0202137.jpg"},\n   {"idEquipo":"0201017011", "nombreEquipo":"U.D. Alzira", "urlEscudo":"./img/logosClubes/0201017.jpg"}]

我在"nombreEquipo":"CD Roda "A""中使用双引号时遇到问题,并且出现 SyntaxError。 如何将“A”替换为 A?

我不创建列表,我直接从 web 页面得到它,所以我需要能够解析它的内容。

我从中抓取的链接是link ,我用来抓取该链接的代码是:

    page=requests.get("https://www.ffcv.es/ncompeticiones/server.php?action=getEquiposCompeticion&cmp=1261&tmp=2019/2020", headers=headers)
    soup=BeautifulSoup(page.text,'lxml')
    lista=soup.find("p").text
    lista=ast.literal_eval(lista)

或者最后我也尝试过而不是lista=ast.literal_eval(lista)我输入lista=json.loads(lista)

对于这个特定页面,如果我打印 lista 我得到

'[{"idEquipo":"0201128221", "nombreEquipo":"Alboraya U.D. "B"", "urlEscudo":"./img/logosClubes/0201128.jpg"},{"idEquipo":"0203002021", "nombreEquipo":"C.D. Alcoyano "A"", "urlEscudo":"./img/logosClubes/0203002.jpg"},{"idEquipo":"0202001021", "nombreEquipo":"C.D. Castellon, "A"", "urlEscudo":"./img/logosClubes/0202001.jpg"},{"idEquipo":"0203008201", "nombreEquipo":"C.D. Denia "A"", "urlEscudo":"./img/logosClubes/0203008.jpg"},{"idEquipo":"0201290201", "nombreEquipo":"C.D. Don Bosco "A"", "urlEscudo":"./img/logosClubes/0201290.jpg"},{"idEquipo":"0202137211", "nombreEquipo":"C.D. Roda "B"", "urlEscudo":"./img/logosClubes/0202137.jpg"},{"idEquipo":"0201118201", "nombreEquipo":"C.D. San Marcelino "A"", "urlEscudo":"./img/logosClubes/0201118.jpg"},{"idEquipo":"0203848201", "nombreEquipo":"C.F. At. Ciudad de Benidorm "A"", "urlEscudo":"./img/logosClubes/0203848.jpg"},{"idEquipo":"0206096201", "nombreEquipo":"C.F. Celtic Elche "A"", "urlEscudo":"./img/logosClubes/0206096.jpg"},{"idEquipo":"0201411201", "nombreEquipo":"C.F. Inter San Jose Valencia "A"", "urlEscudo":"./img/logosClubes/0201411.jpg"},{"idEquipo":"0201338021", "nombreEquipo":"C.F. Torre Levante "B"", "urlEscudo":"./img/logosClubes/0201338.jpg"},{"idEquipo":"0203526211", "nombreEquipo":"Elche C.F. SAD "B"", "urlEscudo":"./img/logosClubes/0203526.jpg"},{"idEquipo":"0203541011", "nombreEquipo":"Kelme C.F. "A"", "urlEscudo":"./img/logosClubes/0203541.jpg"},{"idEquipo":"0201002041", "nombreEquipo":"Levante U.D. SAD "B"", "urlEscudo":"./img/logosClubes/0201002.jpg"},{"idEquipo":"0201233011", "nombreEquipo":"Racing D\\" Algemesi-global Supply "A"", "urlEscudo":"./img/logosClubes/0201233.jpg"},{"idEquipo":"0203558201", "nombreEquipo":"S.C.D. Intangco "A"", "urlEscudo":"./img/logosClubes/0203558.jpg"},{"idEquipo":"0201001041", "nombreEquipo":"Valencia C.F. SAD 'B'", "urlEscudo":"./img/logosClubes/0201001.jpg"},{"idEquipo":"0202004051", "nombreEquipo":"Villarreal C.F. SAD "B"", "urlEscudo":"./img/logosClubes/0202004.jpg"}]'

在 Python 中,您可以使用双引号 (") 和单引号 (') 来表示字符串文字。要创建包含引号的字符串文字,请使用例如

'Some "string"'

或转义引号,例如

"Some \"string\""

我从 user2357112 得到的答案支持 Monica,这是正确的:

此页面是 JSON 文档,而不是 HTML。 您不应该将其提供给 HTML 解析器(或 ast.literal_eval)。 你试过page.json()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM