我正在尝试制作一个API,根据用户喜欢的商店和他们喜欢的具体商品,它将检索JSON中的数据,例如,在Tesco的Nutella搜索中,当我只对一个商店进行搜索时,它可以完美地找到,但当我对一个以上的商店进行搜索时,就会出现错误。在
我试过for循环和if循环,效果更好 从bs4导入BeautifulSoup库来完成此操作。在
我的代码:
import requests
from bs4 import BeautifulSoup
num = int(input('''press 1 for tesco
press 2 for morrisions
press 3 for sainsbury's
'''))
print("please enter the food you want to search for: ")
flag = num%2
txt = input("")
if flag == 1:
tesco_url = requests.get('https://www.tesco.com/groceries/en-GB/search?query=' + txt).text
elif flag == 2:
morrisons_url = requests.get('https://groceries.morrisons.com/search?entry=' + txt).text
elif flag == 3:
sainsburys_url = requests.get('https://www.sainsburys.co.uk/webapp/wcs/stores/servlet/SearchDisplayView?catalogId=10123&langId=44&storeId=10151&krypto=OYaxfyCjgnRApUa%2FS%2BjRmgHslGfDEUtd3xECMndoz2f9gvq5KRuP8TuhW4m1jnUT%2FJU3fBivUiAIozuhmBLJJJQe6gcTedPJTASuwsZfLkt49e%2FYAPxDyWxCjeiyFxNN5WjSEdcW7LMdmfJbn3TmGVBZKVIxqu1zUw7IT8Qo2afgUyuCpJPcxPbmc2gWJMpi#langId=44&storeId=10151&catalogId=10123&categoryId=&parent_category_rn=&top_category=&pageSize=60&orderBy=RELEVANCE&searchTerm=' + txt).text
soup = BeautifulSoup(flag, 'lxml')
print(soup.prettify())
我得到的错误: 在
^{pr2}$
beauthoulsoup需要XML,您可能在添加更多存储时忘了更新XML。另外,我不确定为什么要使用
flag = num%2
,因为标志将只有值[0,1]。如果将flag
替换为num
,那么它应该可以正常工作。在相关问题 更多 >
编程相关推荐