【发布时间】:2018-02-07 22:40:23
【问题描述】:
我认为只设置“text=size”会产生我需要的值。也许我想念理解?我做错了什么?
import requests, re, json, time, sys, os,webbrowser
import subprocess as s
from bs4 import BeautifulSoup as bs
global size
size = "Medium"
'''html = <option selected="selected" data-sku="51728-003" value="660654030868">Medium - $138.00 USD</option>'''
url = "https://us.octobersveryown.com/collections/shop-all/products/varsity-ovo-polartec-half-zip-pullover-black"
def getStuff():
print ('')
session = requests.session()
response = session.get(url)
soup = bs(response.text, 'html.parser')
prod_name = soup.find('h1',{'itemprop':'name'}).text
price = soup.find('span',{'id':'ProductPrice'}).text
variant = soup.find(text=size).findPrevious('value').text
#variant ="notworking"
print("\nProd Name: "+prod_name)
print("\nPrice: "+price)
print("\nMatching Variant Value: "+variant)
getStuff()
我的错误是
Traceback (most recent call last):
File "trythis.py", line 20, in <module>
variant = soup.find(text=size).findPrevious('value').text
AttributeError: 'NoneType' object has no attribute 'text'
【问题讨论】:
标签: python json python-3.x parsing