python - BeautifulSoup:使用 html 元素中的值

标签 python web-scraping beautifulsoup

我有一个关于如何使用从 BeautifulSoup4 网页中提取的数据的问题。这是我的代码:

url = "https://www.amazon.com/s/ref=sr_nr_n_0?me=A2L77EE7U53NWQ&fst=as%3Aoff&rh=n%3A1267877011%2Cn%3A1267879011%2Cn%3A1294322011%2Cn%3A1297815011&bbn=1294322011&ie=UTF8&qid=1501968446"
page = requests.get(url)
resultsCol = SoupStrainer(id="resultsCol")
time.sleep(1)
soup = BeautifulSoup(page.content, 'html.parser', parse_only=resultsCol)

sResultItem = soup.find_all("li", {"class": "s-result-item"})
for dataAsins in sResultItem:
    dataAsin = dataAsins['data-asin']
    print(dataAsin)

我想做的是将 data-asin 数字与其他数字分开使用。但是,每当我尝试打印 dataAsin[0:10] 时,它都会为我提供所有 data-asin,而不是仅一个。如果我能在这个问题上得到一些帮助,我将不胜感激。预先感谢您的反馈。

最佳答案

使用列表理解来收集列表中的所有“data-asin”属性。然后您可以选择任何您想要的项目。

dataAsins = [ li['data-asin'] for li in sResultItem ]

关于python - BeautifulSoup:使用 html 元素中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45653797/

相关文章:

python - 如何使用python selenium获取网页上所有形式的按钮?

python - Beautifulsoup 使用 findall() 不返回任何内容

python - matplotlib barh 在条之间产生奇怪的间距

Python:如何使用Python生成随机稀疏对称矩阵?

python - 如何更改 Matplotlib 表格中文本的字体类型?

python - 尝试做汤。选择多个案例

json - 将 colly 包输出文本添加到 golang 中的映射

Python请求未获取所有数据

python - Web Scraping w/BeautifulSoup4 - 如何过滤包含特定字符串的标签?

python - 从 pandas 列的字符串列表中删除数字