BeautifulSoup:使用来自html元素的值

时间:2017-08-12 18:52:10

标签: 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)

我想要做的是将数据与asin数字分开使用。但是,每当我尝试打印dataAsin[0:10]时,它都会为我提供所有数据 - 而不仅仅是一个数据。如果我能对这个问题有所帮助,我将非常感激。提前感谢您的反馈。

1 个答案:

答案 0 :(得分:1)

使用列表理解来收集所有'数据 - asin'列表中的属性。然后,您可以选择所需的任何项目。

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