我有一个非常简单的例子,我认为requests
应该毫无问题地替换urllib2
。然而,似乎在最简单的情况下,我遗漏了一些东西。有人能告诉我为什么吗?(我正在为我的女朋友获取makeup pricing)
from bs4 import BeautifulSoup
myurl = 'http://www.lancome-usa.com/skincare-cleanse/skincare-cleanse,default,sc.html'
# 1. urllib2
import urllib2
r = urllib2.urlopen(myurl)
soup = BeautifulSoup(r)
print 'MOUSSE RADIANCE' in soup.text.encode('utf-8').upper()
print '$32.00' in soup.text.encode('utf-8')
print '------------------------------------------------------'
# 2. requests
import requests
r = requests.get(myurl)
soup = BeautifulSoup(r.text)
print 'MOUSSE RADIANCE' in soup.text.encode('utf-8').upper()
print '$32.00' in soup.text.encode('utf-8')
答复:
True
True
------------------------------------------------------
False
False
最后,我升级了我的requests
库,同时,我意识到使用r.text
是行不通的。但是使用r.text.encode('utf-8')
和r.content
将构建具有正确内容的汤。你知道吗
您需要升级您的请求版本,您还可以获得
"product-name"
标记中的所有产品:我使用的是2.5.3:
你可以创建一个产品和价格的目录,这样你的女朋友就可以让你买她的多种产品:
相关问题 更多 >
编程相关推荐