資源簡介
爬取實時搜索商品,python開發,web技術是簡單的Flask,最小的代碼爬取你想要的商品信息
代碼片段和文件信息
from?flask?import?Flask?request?session?g?redirect?url_for?abort?render_template?flash?jsonify?json
import?urllib.request
from?lxml?import?etree
import?json
from?bson?import?json_util
#?url?=?“https://d.jd.com/area/get?fid=1“
#?url?=?“https://raw.githubusercontent.com/modood/Administrative-divisions-of-China/master/dist/pcas-code.json“
#?url?=?“https://item.m.jd.com/ware/detail.json?wareId=16148156042“
#?url?=?“https://so.m.jd.com/ware/search.action?keyword=iphoneX&searchFrom=home“
#?https://item.m.jd.com/product/{}.html?sid=d9d3d16e61e773961d1acc8df469eb43sku_id???#手機端H5詳情
app?=?Flask(__name__)
def?toJson(data):
????return?json.dumps(
???????????????data
???????????????default=json_util.default
???????????????ensure_ascii=False
???????????)
def?toobject(data):
????return?json.loads(
????????data
????????encoding=“utf-8“
????)
@app.route(‘/search‘?methods=[‘GET‘])
@app.route(‘/search/- ‘?methods=[‘GET‘])
def?get_goods(item=None):
????if?request.method?==?‘GET‘:
????????jsons?=?request.args.get(‘json‘?‘on‘)
????????keyword?=?request.args.get(‘key‘?‘‘)
????????if?not?keyword:
????????????keyword?=?item
????????#?keyword?=?“iphoneX“
????????keyword?=?urllib.parse.quote(keyword)?#url中的中文字符處理
????????print(keyword)
????????search_url?=?‘https://search.jd.com/Search?keyword={key}&enc=utf-8&page={page}‘
????????response?=?urllib.request.urlopen(search_url.format(key=keywordpage=1))
????????content?=?response.read().decode(‘utf-8‘)
????????response.close()
????????tree?=?etree.HTML(content)
????????sku_id?=?tree.xpath(‘//div[@id=“J_goodsList“]/ul/li/@data-sku‘)
????????#?item_url?=?[]
????????detail_json?=?[]
????????i?=?0
????????for?one_sku?in?sku_id:
????????????#?取10條?判斷
????????????if?i?10:
????????????????#?pr
評論
共有 條評論