【发布时间】:2019-03-02 18:57:25
【问题描述】:
我的程序是这样做的:
- 从我的网站获取 XML
- 运行所有的 URL
- 通过请求从我的网页(SKU、名称、标题、价格等)获取数据
- 通过将相同 SKU 的价格与请求进行比较,从另一个网站获取最低价格。
我在每个 def 上都使用了很多请求:
def get_Price (SKU):
check ='https://www.XXX='+SKU
r = requests.get(check)
html = requests.get(r.url)
bsObj = BeautifulSoup(html.content,'html.parser')
return Price
def get_StoreName (SKU):
check ='https://XXX?keyword='+SKU
r = requests.get(check)
html = requests.get(r.url)
bsObj = BeautifulSoup(html.content,'html.parser')
return storeName
def get_h1Tag (u):
html = requests.get(u)
bsObj = BeautifulSoup(html.content,'xml')
h1 = bsObj.find('h1',attrs={'itemprop':'name'}).get_text()
return h1
如何减少对 URL 的请求或连接的数量 - 并在整个程序中使用一个请求或一个连接?
【问题讨论】:
-
澄清一下,您是想减少对特定位置(都获得相同内容)还是对具有不同 URL 的一台服务器的请求数量? “到 URL”听起来像前者,“一个连接整个程序”像后者
-
嗨,因为我是 python 的新手——我已经在我想要的每个参数上构建了 def——我可以一次得到所有的东西吗?它会减少我的处理时间吗?
-
您的多个请求中的 URL 是否相同?如果是,那么下面的答案效果很好,如果不是,它只会增加额外的事情要做。
标签: python-3.x beautifulsoup python-requests