国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

python根據(jù)京東商品url獲取產(chǎn)品價格

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 14:34:42
文檔

python根據(jù)京東商品url獲取產(chǎn)品價格

python根據(jù)京東商品url獲取產(chǎn)品價格:京東商品詳細(xì)的請求處理,是先顯示html,然后再ajax請求處理顯示價格。 1.可以運行js,并解析之后得到的html 2.模擬js請求,得到價格 # -*- coding: utf-8 -*- 根據(jù)京東url地址,獲取商品價格 京東請求處理過程,先顯示html頁面,然后通過ajax
推薦度:
導(dǎo)讀python根據(jù)京東商品url獲取產(chǎn)品價格:京東商品詳細(xì)的請求處理,是先顯示html,然后再ajax請求處理顯示價格。 1.可以運行js,并解析之后得到的html 2.模擬js請求,得到價格 # -*- coding: utf-8 -*- 根據(jù)京東url地址,獲取商品價格 京東請求處理過程,先顯示html頁面,然后通過ajax

京東商品詳細(xì)的請求處理,是先顯示html,然后再ajax請求處理顯示價格。
1.可以運行js,并解析之后得到的html
2.模擬js請求,得到價格

# -*- coding: utf-8 -*-
"""
根據(jù)京東url地址,獲取商品價格
京東請求處理過程,先顯示html頁面,然后通過ajax get請求獲取相應(yīng)的商品價格
 
1.商品的具體數(shù)據(jù)在html中的格式,如下(示例)
# product: {
# skuid: 1310118868,
# name: 'u9999u5f71u77edu88d9u4e24u4ef6u5957u88c5u5973u0032u0030u0031u0034u51acu88c5u65b0u6b3eu97e9u7248u957fu8896u0054u6064u4e0au8863u8377u53f6u8fb9u534au8eabu88d9u6f6eu0020u85cfu9752u0020u004d',
# skuidkey:'7781F505B71CE37A3AFBADA119D3587F',
# href: 'http://item.jd.com/1310118868.html',
# src: 'jfs/t385/197/414081450/336886/3070537b/541be890N2995990c.jpg',
# cat: [1315,1343,1355],
# brand: 18247,
# nBrand: 18247,
# tips: false,
# type: 2,
# venderId:38824,
# shopId:'36786',
# TJ:'0',
# specialAttrs:["is7ToReturn-1"],
# videoPath:'',
# HM:'0'
# }
 
2.ajax請求代碼如下:
# // 獲得數(shù)字價格
# var getPriceNum = function(skus, $wrap, perfix, callback) {
# skus = typeof skus === 'string' ? [skus]: skus;
# $wrap = $wrap || $('body');
# perfix = perfix || 'J-p-';
# $.ajax({
# url: 'http://p.3.cn/prices/mgets?skuIds=J_' + skus.join(',J_') + '&type=1',
# dataType: 'jsonp',
# success: function (r) {
# if (!r && !r.length) {
# return false;
# }
# for (var i = 0; i < r.length; i++) {
# var sku = r[i].id.replace('J_', '');
# var price = parseFloat(r[i].p, 10);
#
# if (price > 0) {
# $wrap.find('.'+ perfix + sku).html('¥' + r[i].p + '');
# } else {
# $wrap.find('.'+ perfix + sku).html('暫無報價');
# }
#
# if ( typeof callback === 'function' ) {
# callback(sku, price, r);
# }
# }
# }
# });
# };
"""
import urllib
import json
import re
 
 
class JdPrice(object):
 """
 對獲取京東商品價格進行簡單封裝
 """
 def __init__(self, url):
 self.url = url
 self._response = urllib.urlopen(self.url)
 self.html = self._response.read()
 
 def get_product(self):
 """
 獲取html中,商品的描述(未對數(shù)據(jù)進行詳細(xì)處理,粗略的返回str類型)
 :return:
 """
 product_re = re.compile(r'compatible: true,(.*?)};', re.S)
 product_info = re.findall(product_re, self.html)[0]
 return product_info
 
 def get_product_skuid(self):
 """
 通過獲取的商品信息,獲取商品的skuid
 :return:
 """
 product_info = self.get_product()
 skuid_re = re.compile(r'skuid: (.*?),')
 skuid = re.findall(skuid_re, product_info)[0]
 return skuid
 
 def get_product_name(self):
 pass
 
 def get_product_price(self):
 """
 根據(jù)商品的skuid信息,請求獲得商品price
 :return:
 """
 price = None
 skuid = self.get_product_skuid()
 url = 'http://p.3.cn/prices/mgets?skuIds=J_' + skuid + '&type=1'
 price_json = json.load(urllib.urlopen(url))[0]
 if price_json['p']:
 price = price_json['p']
 return price
 
 
# 測試代碼
if __name__ == '__main__':
 url = 'http://item.jd.com/1310118868.html'
 url = 'http://item.jd.com/1044773.html'
 jp = JdPrice(url)
 print jp.get_product_price()
 
 
# htm.decode('gb2312', 'ignore').encode('utf-8')
# f = open('jjs.html', 'w')
# f.write(htm)
# f.close()

再給大家分享一個京東價格的爬蟲:

fromcreepyimportCrawler
fromBeautifulSoupimportBeautifulSoup
importurllib2
importjson

classMyCrawler(Crawler):
defprocess_document(self,doc):
ifdoc.status==200:
print[%d]%s%(doc.status,doc.url)
try:
soup=BeautifulSoup(doc.text.decode(gb18030).encode(utf-8))
exceptExceptionase:
printe
soup=BeautifulSoup(doc.text)
printsoup.find(id="product-intro").div.h1.text
url_id=urllib2.unquote(doc.url).decode(utf8).split(/)[-1].split(.)[0]
f=urllib2.urlopen(http://p.3.cn/prices/get?skuid=J_+url_id,timeout=5)
price=json.loads(f.read())
f.close()
printprice[0][p]
else:
pass

crawler=MyCrawler()
crawler.set_follow_mode(Crawler.F_SAME_HOST)
crawler.set_concurrency_level(16)
crawler.add_url_filter(.(jpg|jpeg|gif|png|js|css|swf)$)
crawler.crawl(http://item.jd.com/982040.html)

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

python根據(jù)京東商品url獲取產(chǎn)品價格

python根據(jù)京東商品url獲取產(chǎn)品價格:京東商品詳細(xì)的請求處理,是先顯示html,然后再ajax請求處理顯示價格。 1.可以運行js,并解析之后得到的html 2.模擬js請求,得到價格 # -*- coding: utf-8 -*- 根據(jù)京東url地址,獲取商品價格 京東請求處理過程,先顯示html頁面,然后通過ajax
推薦度:
標(biāo)簽: 獲取 京東 價格
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 91字幕网 | 欧美亚洲综合网 | 三区在线观看 | 福利视频一区二区牛牛 | 福利一区三区 | 天码毛片一区二区三区入口 | 欧美精品在线看 | 成人区精品一区二区不卡亚洲 | 亚洲国产成人久久99精品 | 亚洲欧美日韩综合网导航 | 欧美在线1 | 中文字幕亚洲综合 | 精品欧美一区二区三区在线 | 国产亚洲欧美一区二区 | 国产免费高清视频在线观看不卡 | 理论片国产 | 日韩亚洲欧洲在线com91tv | 欧美二区在线观看 | 成人a毛片一级 | 久久国产欧美日韩高清专区 | 亚洲欧美日韩在线 | 色精品一区二区三区 | 一区二区精品在线 | 久久国内精品 | 亚洲第一视频网 | 久久免费国产精品一区二区 | 高清国产在线 | 香蕉视频在线观看网站 | 亚洲精品免费在线观看 | 日韩欧美精品一区二区三区 | 国产精品免费观在线 | 日韩欧美一区二区三区在线 | 国内一级野外a一级毛片 | 一级毛片不卡片免费观看 | 插插插叉叉叉 | 91中文字幕在线 | 91久久精品国产91久久性色也 | 一级大毛片 | 欧美色图亚洲激情 | 亚洲欧美日韩另类在线专区 | 国产网站免费在线观看 |