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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用 BS4 // 訪(fǎng)問(wèn)類(lèi)抓取網(wǎng)站

使用 BS4 // 訪(fǎng)問(wèn)類(lèi)抓取網(wǎng)站

哈士奇WWW 2024-01-16 15:34:34
我嘗試使用 BeautifulSoup 從網(wǎng)站中提取不同的信息,例如產(chǎn)品標(biāo)題和價(jià)格。我使用不同的 url 來(lái)執(zhí)行此操作,并使用for...in.... 在這里,我將只提供一個(gè)沒(méi)有循環(huán)的片段。from bs4 import BeautifulSoupimport requestsimport csvurl= 'https://www.mediamarkt.ch/fr/product/_lg-oled65gx6la-1991479.html'html_content = requests.get(url).textsoup = BeautifulSoup(html_content, "lxml")price = soup.find('meta', property="product:price:amount")title = soup.find("div", {"class": "flix-model-name"})title2 = soup.find('div', class_="flix-model-name")title3 = soup.find("div", attrs={"class": "flix-model-name"})print(price['content'])print(title)print(title2)print(title3)因此,從這個(gè) URL https://www.mediamarkt.ch/fr/product/_lg-oled65gx6la-1991479.html我并沒(méi)有提取產(chǎn)品編號(hào)。我找到它的唯一地方是在 div 中class="flix-model-name"。然而,我完全無(wú)法達(dá)到它。我嘗試了不同的方法來(lái)訪(fǎng)問(wèn)它title,title2但title3我總是有輸出none。我是一個(gè)初學(xué)者,所以我想我可能錯(cuò)過(guò)了一些基本的東西......如果是這樣,請(qǐng)?jiān)徫?。歡迎任何幫助!提前謝謝了!僅供參考,我想在每個(gè) url 中附加數(shù)據(jù)并將其寫(xiě)入 CSV 文件,如下所示:for url in urls:    html_content = requests.get(url).text    soup = BeautifulSoup(html_content, "lxml")    row=[]    try:        # title = YOUR VERY WELCOMED ANSWER        prices = soup.find('meta', property="product:price:amount")        row = (title.text+','+prices['content']+'\n')        data.append(row)    except:        passfile = open('database.csv','w')i = 0while i < (len(data)):    file.write(data[i])    i +=1file.close()
查看完整描述

1 回答

?
慕妹3242003

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個(gè)贊

使用 python 嘗試以下方法 -請(qǐng)求簡(jiǎn)單、直接、可靠、快速,并且在請(qǐng)求時(shí)需要更少的代碼。在檢查了 google chrome 瀏覽器的網(wǎng)絡(luò)部分后,我從網(wǎng)站本身獲取了 API URL。

下面的腳本到底在做什么:

首先,它將獲取 API URL,根據(jù) 2 個(gè)動(dòng)態(tài)參數(shù)(產(chǎn)品和類(lèi)別)創(chuàng)建 URL,然后執(zhí)行 GET 請(qǐng)求來(lái)獲取數(shù)據(jù)。

獲取數(shù)據(jù)后腳本將使用 json.loads 庫(kù)解析 JSON 數(shù)據(jù)。最后,它將一一迭代所有產(chǎn)品列表,并打印分為 2 個(gè)類(lèi)別“?box1_ProductToProduct?”和“?box2_KategorieTopseller?”的詳細(xì)信息,如品牌、名稱(chēng)、產(chǎn)品編號(hào)和單價(jià)。同樣,您可以通過(guò)查看 API 調(diào)用來(lái)添加更多詳細(xì)信息。

import json

import requests

from urllib3.exceptions import InsecureRequestWarning

requests.packages.urllib3.disable_warnings(InsecureRequestWarning)


def scrap_product_details():

PRODUCT = 'MMCH1991479' #Product number

CATEGORY = '680942' #Category number

URL = 'https://www.mediamarkt.ch/rde_server/res/MMCH/recomm/product_detail/sid/WACXyEbIf3khlu6FcHlh1B1?product=' + PRODUCT + '&category=' + CATEGORY? # dynamic URL

response = requests.get(URL,verify = False) #GET request to fetch the data

result = json.loads(response.text) # Parse JSON data using json.loads

box1_ProductToProduct = result[0]['box1_ProductToProduct'] # Extracted data from API

box2_KategorieTopseller = result[1]['box2_KategorieTopseller']


for item in box1_ProductToProduct: # loop over extracted data

? ? print('-' * 100)

? ? print('Brand : ',item['brand'])

? ? print('Name : ',item['name'])

? ? print('Net Unit Price : ',item['netUnitPrice'])

? ? print('Product Number : ',item['product_nr'])

? ? print('-' * 100)


for item in box2_KategorieTopseller:? # loop over extracted data

? ? print('-' * 100)

? ? print('Brand : ',item['brand'])

? ? print('Name : ',item['name'])

? ? print('Net Unit Price : ',item['netUnitPrice'])

? ? print('Product Number : ',item['product_nr'])

? ? print('-' * 100)


scrap_product_details()


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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