第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過網(wǎng)絡(luò)抓取在 python 中使用正則表達(dá)式排除字符串的一部分

通過網(wǎng)絡(luò)抓取在 python 中使用正則表達(dá)式排除字符串的一部分

MMMHUHU 2024-01-27 16:12:57
我正在嘗試從電子商務(wù)網(wǎng)站上抓取一些數(shù)據(jù)用于個人項目。我正在嘗試從 html 構(gòu)建一個嵌套的字符串列表,但 html 的一部分出現(xiàn)問題。每個列表項如下所示:<div class="impressions" data-impressions=\'{"id":"01920","name":"Sleepy","price":12.95,"brand":"Lush","category":"Bubble Bar","variant":"7 oz.","quantity":1,"list":"/bath/bubble-bars/sleepy/9999901920.html","dimension11":"","dimension12":"Naked,Self Preserving,Vegan","dimension13":1,"dimension14":1,"dimension15":true}\'></div>我現(xiàn)在擁有的是一個正則表達(dá)式,它可以將 data-impressions 標(biāo)簽中的所有項目像這樣轉(zhuǎn)換并在逗號處分割它們:list_return = [re.findall('\{([^{]+[^}\'></div>])', i) for i in bathshower_impressions]list_return = [re.split(',', list_return[i][0]) for i in range(0, len(list_return))]這為我提供了每個事物的列表列表,這些列表將成為字典中的鍵:值對。對于上面的示例,第二級項目如下:[['"id"', '"01920"'],  ['"name"', '"Sleepy"'],  ['"price"', '12.95'],  ['"brand"', '"Lush"'],  ['"category"', '"Bubble Bar"'],  ['"variant"', '"7 oz."'],  ['"quantity"', '1'],  ['"list"', '"/bath/bubble-bars/sleepy/9999901920.html"'],  ['"dimension11"', '""'],  ['"dimension12"', '"Naked'],  ['Self Preserving'],  ['Vegan"'],  ['"dimension13"', '1'],  ['"dimension14"', '1'],  ['"dimension15"', 'true']]我的問題是維度 12,我不知道如何排除該維度以逗號分隔,以便該列表顯示為:['"dimension12"', '"Naked,Self Preserving,Vegan"']如有任何幫助,我們將不勝感激,謝謝。
查看完整描述

1 回答

?
繁花如伊

TA貢獻(xiàn)2012條經(jīng)驗 獲得超12個贊

我想建議一種不同的方法。該屬性值看起來像JSON,那么為什么不使用json模塊呢?這樣,您就有了一個現(xiàn)成的數(shù)據(jù)結(jié)構(gòu),可以進(jìn)一步修改。


import json

from bs4 import BeautifulSoup



html_list = [

"""<div class="impressions" data-impressions=\'{"id":"01920","name":"Sleepy","price":12.95,"brand":"Lush","category":"Bubble Bar","variant":"7 oz.","quantity":1,"list":"/bath/bubble-bars/sleepy/9999901920.html","dimension11":"","dimension12":"Naked,Self Preserving,Vegan","dimension13":1,"dimension14":1,"dimension15":true}\'></div>""",

]


data_structures = []

for html_item in html_list:

    soup = BeautifulSoup(html_item, "html.parser").find("div", {"class": "impressions"})

    data_structures.append(json.loads(soup["data-impressions"]))


print(data_structures)

這會輸出一個字典列表:


[{'id': '01920', 'name': 'Sleepy', 'price': 12.95, 'brand': 'Lush', 'category': 'Bubble Bar', 'variant': '7 oz.', 'quantity': 1, 'list': '/bath/bubble-bars/sleepy/9999901920.html', 'dimension11': '', 'dimension12': 'Naked,Self Preserving,Vegan', 'dimension13': 1, 'dimension14': 1, 'dimension15': True}]

要訪問所需的密鑰,只需執(zhí)行以下操作:


for data_item in data_structures:

    print(data_item["dimension12"])

印刷:Naked,Self Preserving,Vegan


查看完整回答
反對 回復(fù) 2024-01-27
  • 1 回答
  • 0 關(guān)注
  • 220 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號