python - 如何将多个元素分配给单个列表变量

标签 python python-3.x selenium selenium-chromedriver

我对编程和 Python 还很陌生。构建一个项目来自动执行我日常工作中的一些繁琐任务。我有一个有效的 python 脚本,可以从多个网站提取数据并进行比较,以确保我们的广告在多个广告平台上保持一致。我将解释我想做的事情的目标,然后解释我是如何尝试做到这一点的,看看我是否走在正确的轨道上,只是没有做得正确,或者是否有更好的路线希望有人可以走可以为我指明正确的方向。

我的工作在我们自己的个人网站(网站 A)上列出了我们的所有库存,而另一个网站(网站 B)仅包含价格为 150 美元或以上的商品。所以我想做的是只抓取网站 A 上大于或等于 150 美元的商品的名称/价格,然后抓取网站 B 上的所有商品并获取商品列表,然后从网站 A 中减去网站 B 并得到网站 A 上剩余的 150 美元或以上但未在网站 B 上列出的商品。希望这是有道理的。

    xtitles = driver.find_elements_by_class_name("product-name")
    xprices = driver.find_elements_by_class_name("content-item price")
    xjoined = {}

    for title in xtitles:
        xtitletext = [title.text]
    for price in ggprices:
        xpricetext = price.text
        xjoined.update({xtitletext:xpricetext})

    print(xjoined)

    driver.quit()

这是我尝试使用的一些示例代码。我觉得我已经很接近了,但无法让它正常工作。尝试从网站 A 中提取商品的标题和价格并将它们合并在一起,以便我可以从网站 B 中提取相同的内容并进行交叉检查。可能有比我现在这样做更好的方法,但我想我会在这里问,看看人们怎么说。提前致谢!

最佳答案

您似乎在询问 set intersection 。 让我们为个人网站和其他网站上的昂贵元素分配一些任意标识符,并找到 difference :

site_a = set('cdeghklm')
site_b = set('cefhijlnop')
print(sorted(site_a - site_b))

['d', 'g', 'k', 'm']

关于python - 如何将多个元素分配给单个列表变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55436425/

相关文章:

python - 如何在 PyQt 中获取 qtablewidget 的选定行的值?

python - 使用 Paramiko 执行的命令不会产生任何输出

django - 在django中将多对多关系转换为一对多

Python TypeError 与逻辑迭代数据值

python - 网站在多个页面上识别 Python Selenium Webdriver

python - 使用数组作为多维数组的索引掩码

python - 使用多个字典编辑 .json

python-3.x - plotly-express 图形颜色图例应仅显示整数值

javascript - 有没有办法避免在 Selenium 中使用等待和 sleep ?

javascript - 通过 Selenium Webdriver 验证 JavaScript 错误