Python和bs4尝试根据结果生成if语句

s4n0splo  于 2022-12-17  发布在  Python
关注(0)|答案(2)|浏览(127)

我正在尝试做的是使用Beautifulsoup来废弃一个特定的网站,如果它看到“添加到购物车”按钮,它会通知我,它在那里,如果它没有,它会循环。我有点困在这个试图让它工作的开始。下面是从我检查网站以及脚本我的工作。任何帮助将不胜感激

<div class="carting">
  <button type="button" class="btn addtocart" data-id="45399" data-cart-qty="0" data-title="Walking Dead       Compendium TP Vol 03">
     <im g src="/images/cart.png" alt="Add to Cart">
      " Add to Cart"
    </button>
  <button type="button" class="btn addtolist" data-id="45399" data-code="AUG150497D" data-title="random title ">…</button>
from bs4 import BeautifulSoup
import requests

def main():
    requests.get("https://www.websiteurl.com")
    doc = BeautifulSoup(result, "html.parser")
    if doc.find_all(class_='btn addtocart', text=" Add to Cart "):
        print("Stuff")
olqngx59

olqngx591#

将代码 Package 在一个循环中,当您找到所需的代码时,就可以跳出循环。

from bs4 import BeautifulSoup
import requests, time

def main():
    while True:
        requests.get("https://www.websiteurl.com")
        doc = BeautifulSoup(result, "html.parser")
        if doc.find(class_='btn addtocart', text=" Add to Cart "):
            print("Stuff")
            break

        time.sleep(1)
wpcxdonn

wpcxdonn2#

不要使用if语句,而是将doc.find_all调用 Package 到for循环中:

for result in doc.find_all(class_='btn addtocart', text=" Add to Cart "):
    print("stuff")

这样,您还可以在一个变量中获得结果行,如果需要,可以使用该变量提取特定数据。

相关问题