使用Python scraper检索页面上的所有项目

时间:2016-04-15 18:01:36

标签: python python-2.7

我对此非常陌生,但我设法建立了一个刮刀。

唯一的问题是我只得到了页面的最后一项。

该页面有25条结果。我如何获得页面上的所有项目?

非常感谢你。

from lxml import html 
import requests
from bs4 import BeautifulSoup
import re
import csv

r = requests.get("http://www.mediamarkt.be/mcs/productlist/_128-tot-150-cm-51-tot-59-,98952,501091.html?langId=-17")

soup = BeautifulSoup((r.content),'lxml')

links = soup.find_all("h2")

g_data = soup.find_all("div", {"class": "price small"})

for item in g_data:
    prijs=item.text.encode("utf-8")

for link in links:
    if "TV" in link.text:
        product=link.text.encode("utf-8").strip()

print prijs
print product

1 个答案:

答案 0 :(得分:1)

您正在寻找该产品,并且每次使用该产品时,您都会使用下一个产品覆盖该产品。这就是这一行:

product=link.text.encode("utf-8").strip()

产品每次循环都会被覆盖,直到完成为止,并且您从页面中留下最后一个产品。您要么想要将每个结果附加到上一个结果...

product = ""
for link in links:
    if "TV" in link.text:
        product+=link.text.encode("utf-8").strip() + " "

或将结果存储在列表中。