首页 > 解决方案 > 需要帮助将列表存储为表格并通过页面迭代抓取

问题描述

所以我设法抓取了这个电子商务网站,并且我有产品名称和产品价格的 for 循环。我的第一个问题是如何将两者结合在一个表中。其次是我如何在网站的不同页面或多个 url 中迭代这些。为这个愚蠢的问题道歉,但我刚刚开始使用 python,因为与我更擅长的 R 相比,我想用它作为一个更好的抓取工具。感谢任何回应。

import selenium
driver.get("https://shopee.ph/shop/301669184/search?page=5&sortBy=pop")
productname = driver.find_elements_by_class_name("_2wYmLR")
for i in productname:
   x = print(i.text)
productprice = driver.find_elements_by_class_name("_1xk7ak")
for l in productprice:
    df2 = print (l.text)

标签: pythonseleniumweb-scraping

解决方案


您只需执行以下操作即可将值放入数组中。

x=[i.text for i in productname]
df2=[l.text for l in productprice]

然后你可以像这样把它们放到一个数据框中

df = pd.DataFrame({'name':x,'price':df2})
print(df)

进口

import pandas as pd

输出

                                                 name price
0    Crown Kids Boys Round Neck Tshirt in Apple Green    89
1     Crown Kids Boys Round Neck Tshirt in Fern Green    89
2     Crown Kids Girls Round Neck Tshirt in Turquoise    89
3    Crown Kids Girls Round Neck Tshirt in Royal Blue    89
4     Crown Kids Girls Round Neck Tshirt in Navy Blue    89
5    Crown Kids Girls Round Neck Tshirt in Light Gray    89
6   Crown Kids Boys Round Neck Tshirt in Carnation...    89
7      Crown Kids Boys Round Neck Tshirt in Tangerine    89
8          Crown Kids Boys Round Neck Tshirt in Cream    89
9        Crown Kids Boys Round Neck Tshirt in Muroise    89
10  Crown Kids Girls Round Neck Tshirt in Emerald ...    89
11   Crown Kids Girls Round Neck Tshirt in Light Blue    89
12         Crown Kids Boys Round Neck Tshirt in Peach    89
13  Crown Kids Boys Round Neck Dark Color Tshirt C...    89
14  Crown Kids Boys Round Neck Light Color Tshirt ...    89
15        Crown Kids Boys Round Neck Tshirt in Violet    89

推荐阅读