import?urllib2
import?sys
import?json
import?re
#設置系統默認編碼為utf-8
reload(sys)
sys.setdefaultencoding("utf-8")
#Only?for?python2
'''
只是簡單的示例,沒有檢查無評論的情況,其它異常也可能沒有檢查,
妳可以根據自己的需要再對代碼修改
'''
#解析網頁數據
def?parseData(html_data,?reg_str):
pattern?=?re.compile(reg_str)
result?=?re.search(pattern,?html_data)
if?result:
return?result.groups()
#commodity_url?為商品詳情頁面
commodity_url?=?"/item.htm?spm=a1z10.1-c.w4004-9140345655.2.y3LCj0&id=44454286657"
html_data?=?urllib2.urlopen(commodity_url).read()
#獲取用戶ID和商品ID
auction_msg?=?parseData(html_data,?r'userNumId=(.*?)&auctionNumId=(.*?)&')
if?not?auction_msg:
print?"Get?reviews?failed!"#獲取失敗,退出
sys.exit()
reviews_url?=?"/feedRateList.htm?callback=jsonp_reviews_list¤tPageNum=1&rateType=&orderType=sort_weight&userNumId=%s&auctionNumId=%s"%auction_msg
response?=?urllib2.urlopen(reviews_url)
reviews_data?=?response.read().decode("gbk")
#獲取評論數據
json_str?=?parseData(reviews_data,?r'\((.*)\)')[0]
if?not?json_str:
print?"Get?reviews?failed!"#獲取失敗,退出
sys.exit()
jdata?=?json.loads(json_str)
#下面只打印了第壹條評論,如需要打印所有,則遍歷jdata["comments"]即可
print?jdata["comments"][0]["content"]