簡體   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