我正在尋找一種方法來刮取亞馬遜商店中的作者和價格。(然后去掉美元符號,在輸出中留下3.99。)
到目前為止,我已經嘗試并獲得了標題和評價,但不確定如何才能檢索到作者的名字。
from bs4 import BeautifulSoup
import pandas as pd
import requests
url = ' '/span>
html_content = requests.get(url).text
soup = BeautifulSoup(html_content, "html"/span>)
率 = []
for x in soup.select("li.zg-item-immersion") 。
專案={}。
item['name'] = x.select_one('a').get_text( strip=True)
item['rank'] = x.select_one('span span span').get_text(strip=True)
rate.append(item)
速率
在上述輸入后的輸出中,我得到:
我想知道如何才能洗掉每個名稱部分的括號內的專案。
因此,例如'Right Behind Her (Bree Taggert Book 4)'
可以是 "在她身后"
。uj5u.com熱心網友回復:
你可以使用這個代碼 :
x.find("span"/span>, {"class"/span>: "p13n-sc-price"}.get_text().split('$') [1]
整個代碼:
from bs4 import BeautifulSoup
import pandas as pd
import requests
url = 'https://www.amazon.com/Best-Sellers-Kindle-Store/zgbs/digital-text'/span>
html_content = requests.get(url).text
soup = BeautifulSoup(html_content, "html")
率 = []
for x in soup.select("li.zg-item-immersion") 。
專案={}。
item['name'] = x.select_one('a')。 get_text(strip=True).split('(')[0].strip()
item['rank'] = x.select_one('span span span').get_text( strip=True)
item['price'] = x.find("span", {"class": "p13n-sc-price"}.get_text().split('$') [1]
try:
item['author'] = x.find("a", {"class":"a-size-small a-link-child"}).text
except:
item['author'] = '未找到作者姓名'。
rate.append(item)
輸出:
[{'name': 'Peril', 'rank': '#1', 'price': '14.99', 'author': 'Bob Woodward'}。
{'name': 'Apples Never Fall',
'等級': '#2',
'price': '14.99',
'author': 'Liane Moriarty'}。
...
]
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/331295.html
標籤:
