こんにちは私はPythonBeautifulSoupの初心者です。https://www.flipkart.com/laptops/~buyback-guarantee-on-laptops-/pr?sid=6bo%2Cb5g&uniqBStoreParam1=val1&wid=11.productCard.PMU_V2からウェブサイトをスクレイプする実験をしています
findメソッドを使用すると、商品の価格情報を取得できます。ただし、select_oneメソッドを使用すると、価格に関する情報を取得できません。
find
import requests
from bs4 import BeautifulSoup
import pandas as pd
r=requests.get('https://www.flipkart.com/laptops/~buyback-guarantee-on-laptops-/pr?sid=6bo%2Cb5g&uniqBStoreParam1=val1&wid=11.productCard.PMU_V2')
soup=BeautifulSoup(r.text,'lxml')
results=soup.find_all('a', attrs={'class':'_31qSD5'})
for result in results:
price=result.find('div',{'class':'_1vC4OE _2rQ-NK'}).text[1:]
一つ選択してください
import requests
from bs4 import BeautifulSoup
import pandas as pd
r=requests.get('https://www.flipkart.com/laptops/~buyback-guarantee-on-laptops-/pr?sid=6bo%2Cb5g&uniqBStoreParam1=val1&wid=11.productCard.PMU_V2')
soup=BeautifulSoup(r.text,'lxml')
results=soup.select('._31qSD5')
result=results[0]
price=result.select_one('._1vC4OE _2rQ-NK').text[1:]
select_oneメソッドで価格情報を取得するように誰かに教えてもらえますか?
次のように試してみませんか?-NK
クラスのこの部分は_2rQ-NK
ユニークなようですので、それを利用して価格を取得できます。
import requests
from bs4 import BeautifulSoup
r = requests.get('https://www.flipkart.com/laptops/~buyback-guarantee-on-laptops-/pr?sid=6bo%2Cb5g&uniqBStoreParam1=val1&wid=11.productCard.PMU_V2')
soup = BeautifulSoup(r.text,'lxml')
for items in soup.select('._31qSD5'):
price = items.select_one('[class$="-NK"]').text[1:]
print(price)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加