带有循环列表的Selenium Web抓取

时间:2019-07-28 19:21:09

标签: python selenium loops selenium-chromedriver

我试图遍历一个列表,当您选择要查找的内容时,我要抓取的网站的URL就会更改。一个示例是“ buyhere.com”,当我在网页上选择牛奶时,URL将更改为“ buyhere.com/milk”。

如此有效,我正在尝试通过chromedriver组合价格检查网络爬虫,在这种情况下,我可以对我设置的杂货清单进行定价,在这种情况下:

dummy

现在,当我放入单个项目时,我能够获得所需的信息(例如价格,品牌),但是当我尝试循环浏览时,会遇到一些问题:

它将引发关于无法将列表连接到str的错误。    我尝试了groceries = ['milk', 'bread', 'coffee', 'cereal', 'flowers'] for k in groceries: url = 'https://buyhere.com/' + groceries    我尝试了#groceries = str(['milk', 'bread', 'coffee', 'cereal', 'flowers'])

现在,当我运行它时,它基本上会吐出来:

#url = 'https://buyhere.com/' + str('groceries')

而不是提取每个元素并进行遍历,而是在URL中打印我的整个列表。

我曾考虑过将杂货[0]放在最后并让k + = 1,但是我也没有得到任何关注。

 url = 'https://buyhere.com/[['milk', 'bread', 'coffee', 'cereal', 'flowers'] 

预期结果:

5个循环,分别提取5种杂货中的数据

from selenium import webdriver

import time

import pandas as pd


groceries = ['milk', 'bread', 'coffee', 'cereal', 'flowers']

for k in groceries:

    url = 'https://buyhere.com/' + groceries

很乐意看看是否有人对解决方法有更好的想法。谢谢社区!

1 个答案:

答案 0 :(得分:0)

我认为您只是弄乱了语法,尝试一下

from selenium import webdriver

import time

import pandas as pd


groceries = ['milk', 'bread', 'coffee', 'cereal', 'flowers']

for k in groceries:

    url = 'https://buyhere.com/' + k
    #  do stuff with url ...