web scraping检查单词是否在字符串中

时间:2016-04-25 17:42:55

标签: python beautifulsoup

我正试图从他们的产品名称中获得袋子的样式(例如,“Platinum Faux漆皮手提包”中的“Tote”)。这是我的代码:

    from urllib.request import urlopen
    from bs4 import BeautifulSoup
    saksurl="http://www.saksfifthavenue.com/Handbags/shop/_/N-52jzot/Ne-  6lvnb5?FOLDER%3C%3Efolder_id=2534374306622829"
    html = urlopen(saksurl)
    bsObj = BeautifulSoup(html.read(),"html.parser")  
    for product in bsObj.select("#product-container [id^=product-]"):
      Style="None"

      Name=product.find("p",{"class":"product-description"}).get_text()


     print(Name)

     if Name.find("Tote"):
       Style="Tote"
     else:
       Style="None"
     print(Style)

虽然对于不是Totes和手提包的行李箱而言它应该给我没有,但它给了我所有袋子的手提袋。

1 个答案:

答案 0 :(得分:1)

您应该使用:

 if "Tote" in Name:
     ...

而不是str.find。如果找到,str.find将返回索引,否则它将返回-1。无论哪种方式,任何不是0的数字都将评估为True,这就是您从中获取错误的位置。