Example #1
0
def get_agencys(city, page_index=1):
    '''
        获取58全职搜索保险代理人信息
        * 'city_type' 城市类型
        * 'page_index' 当前页码
    '''
    city_type = city['id']
    hp.print_partition(u'解析城市:%s-%s-%s,保险代理人的工作' %
                       (city['province'], city['city'], city['id']))
    # 构造接口url
    url = __agencys_url.format(city_type, page_index)
    print u'工作地址:%s' % url
    try:
        # html = rq.get_cookie(
        #     url,
        #     headers={
        #         "User-agent":
        #         "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36",
        #         "Referer":
        #         url
        #     })
        html = rq.get(url)
    except Exception, e:
        print e
        return
Example #2
0
def douyu_rank(rankName, statType):
    '''
        斗鱼主播数据抓取
        [数据地址](https://www.douyu.com/directory/rank_list/game)

        * `rankName` anchor(巨星主播榜),fans(主播粉丝榜),haoyou(土豪实力榜),user(主播壕友榜)
        * `statType` day(日),week(周),month(月)
    '''
    if not isinstance(rankName, ERankName):
        raise Exception("rankName 类型错误,必须是ERankName枚举")
    if not isinstance(statType, EStatType):
        raise Exception("statType 类型错误,必须是EStatType枚举")

    rankName = '%sListData' % rankName.name
    statType = '%sListData' % statType.name
    # 请求获取html源码 .replace('\r\n', '')
    rs = rq.get(
        "https://www.douyu.com/directory/rank_list/game",
        headers={'User-Agent': 'Mozilla/5.0'})
    # 正则解析出数据
    mt = re.search(r'rankListData\s+?=(.*?);', rs, re.S)
    if (not mt):
        print u"无法解析rankListData数据"
        return
    grps = mt.groups()
    # 数据转json
    rankListDataStr = grps[0]
    rankListData = json.loads(rankListDataStr)
    dayList = rankListData[rankName][statType]
    # 修改排序
    dayList.sort(key=lambda k: (k.get('id', 0)), reverse=False)
    return dayList
Example #3
0
def getComment(questionNum):
    url = u'http://www.bxd365.com/qa/%s.html' % questionNum
    print u"开始解析:%s" % url
    try:
        html = rq.get(url)
    except Exception, e:
        print e
        return
Example #4
0
 def get_addressId(self):
     url = '/supplier/getReceivingAddress?dealerId=%s' % supplierId
     response = request.get(url)
     try:
         response['msg'] == '请求成功'
     except Exception:
         raise response
     addressId = response['data'][0]['id']
     return addressId
Example #5
0
 def get_ageGroup(self):
     url = '/dictionary/getByType/age_group'
     response = request.get(url)
     try:
         response['msg'] == '请求成功'
     except Exception:
         raise response
     ageGroup = response['data'][0]['code']
     return ageGroup
Example #6
0
 def get_procedureSite(self):
     url = '/dictionary/getByType/procedure_site'
     response = request.get(url)
     try:
         response['msg'] == '请求成功'
     except Exception:
         raise response
     procedureSite = response['data'][0]['id']
     return procedureSite
Example #7
0
 def get_manufacturerId(self):
     url = '/formBaseData/allBrands'
     response = request.get(url)
     try:
         response['msg'] == '请求成功'
     except Exception:
         raise response
     manufacturerId = response['data'][0]['id']
     return manufacturerId
Example #8
0
def suo(url):
    '''
        suo.im 短链
    '''
    url = 'http://suo.im/api.php?format=json&url={}'.format(
        url.encode('utf-8'))
    json_str = rq.get(url)
    if not json_str:
        return
    json_data = json.loads(json_str)
    return json_data['url']
 def get_warehouse(self):
     url = '/warehouse/getAll'
     response = request.get(url)
     try:
         assert response['msg'] == '请求成功'
     except Exception:
         raise response
     # 目前有库存的是丽都仓
     for i in response['data']:
         if i['warehouseName'] == '丽都仓':
             warehouseId = i['id']
             return warehouseId
Example #10
0
def analysis_job_data(job_url):
    '''
        解析job详情页面里的pagenum数据
    '''
    if job_url is None:
        print u'工作详情地址为空,略过'
        return
    print 'job_url=%s' % job_url
    try:
        # html = rq.get_cookie(job_url, cookie_file_name=get_cookie_name())
        html = rq.get(job_url)
    except Exception, e:
        print e
        return
Example #11
0
def douyu_room(romm_id):
    '''
        主播房间信息解析
        [数据地址](https://www.douyu.com/xxx)
        'romm_id' 主播房号
    '''
    rs = rq.get(("https://www.douyu.com/%s" % romm_id),
                headers={'User-Agent': 'Mozilla/5.0'})
    mt = re.search(r'\$ROOM\s+?=\s+?({.*?});', rs, re.S)
    if (not mt):
        print u"无法解析ROOM数据"
        return
    grps = mt.groups()
    roomDataStr = grps[0]
    roomData = json.loads(roomDataStr)
    return roomData
Example #12
0
    def test_case_01(self, get_api, common_params):

        with allure.step("第一步:发送请求,获取响应实体"):
            response = request.get(url=get_api, params=common_params)
            result = response.json()

            allure.attach(response.url, "请求", allure.attachment_type.TEXT)
            allure.attach(response.text, "响应", allure.attachment_type.TEXT)

        with allure.step("第二步:运行断言器"):
            if validate.assert_code(response.status_code, 200):
                # 1. 首次生成 case,需要运行一次获取到 response,生成 validator
                validate.gen_validator(file_path, result)
                
                # 2. 生成 validator 成功后,取消掉注释,即可正常运行断言器
                validate.run_validator(validator, result)
Example #13
0
def check(adhocOrderId):
    response = request.get('/adhocOrder/getDetailByOrderId?orderId=%s' % adhocOrderId)

    goodsList = response['data']['childUiList'][0]['detailBeanUiList']
    toolsList = response['data']['childUiList'][0]['toolsKitUiBeans']
    deliveryMode = response['data']['adhocOrderUiBean']['deliveryMode']
    warehouseId = response['data']['adhocOrderUiBean']['sourceWarehouse']

    goodsId = jsonpath.jsonpath(goodsList, '$..[*].goodsId')
    quantity = jsonpath.jsonpath(goodsList, '$..[*].quantity')
    kitTemplateId = jsonpath.jsonpath(toolsList, '$..[*].id')
    goods = []
    tools = []

    if goodsId:
        i = 0
        while i < len(goodsId):
            dict = {
                "goodsId": goodsId[i],
                "quantity": quantity[i],
            }
            goods.append(dict)
            i += 1
            if kitTemplateId:
                j = 0
                while j < len(kitTemplateId):
                    dict1 = {
                        "kitTemplateId": kitTemplateId[j],
                        "quantity": 1
                    }
                    tools.append(dict1)
                    j += 1
                body = {
                    "detail": [
                        {
                            "deliveryMode": deliveryMode,
                            "goodsDetailUiBeans": goods,
                            "toolsDetailUiBeans": tools,
                            "warehouseId": warehouseId
                        }
                    ],
                    "id": adhocOrderId
                }
            else:
                body = {
                    "detail": [
                        {
                            "deliveryMode": deliveryMode,
                            "goodsDetailUiBeans": goods,
                            "warehouseId": warehouseId
                        }
                    ],
                    "id": adhocOrderId
                }
    elif kitTemplateId:
        j = 0
        while j < len(kitTemplateId):
            dict1 = {
                "kitTemplateId": kitTemplateId[j],
                "quantity": 1
            }
            tools.append(dict1)
            j += 1
        body = {
            "detail": [
                {
                    "deliveryMode": deliveryMode,
                    "toolsDetailUiBeans": tools,
                    "warehouseId": warehouseId
                }
            ],
            "id": adhocOrderId
        }
    else:
        body = {
            "detail": [
                {
                    "deliveryMode": deliveryMode,
                    "warehouseId": warehouseId
                }
            ],
            "id": adhocOrderId
        }

    check = request.put_body('/adhocOrder/accept', body=body)
    return check
Example #14
0
 def get_goodsInfo(self):
     url = '/goods/findGoodsList?pageNum=0&pageSize=50&manufacturerId=1'
     response = request.get(url)
     goodsId = response['data']['rows'][0]['id']
     supplierId = response['data']['rows'][0]['supplierId']
     return goodsId, supplierId
today = datetime.date.today()
tomorrow = today + datetime.timedelta(days=1)
twoDaysAfter = today + datetime.timedelta(days=2)
yesterday = today - datetime.timedelta(days=1)
today_stamp = int(time.mktime(today.timetuple())) * 1000
tomorrow_stamp = int(time.mktime(tomorrow.timetuple())) * 1000
twoDaysAfter_stamp = int(time.mktime(twoDaysAfter.timetuple())) * 1000
yesterday_stamp = int(time.mktime(yesterday.timetuple())) * 1000

# 获取供应商列表
# list = request.get('/supplier/dropDownSupplierList')
# 获取供应商id
# supplierId = list['data'][0]['id']
supplierId = 1
# 获取手术部位
site = request.get('/dictionary/getByType/procedure_site')
siteId = site['data'][0]['id']
# 获取品牌
brands = request.get('/manufacturer/allBrands')
brandId = brands['data'][0]['id']


# 小程序创建临调单
def appCreateAdhocOrder(goodsId,
                        goodsQuantity=1,
                        kitTemplateId=None,
                        ageGroup='adult',
                        gender='male',
                        goodsSupplierId=supplierId,
                        supplierId=supplierId,
                        hospitalName='测试',
Example #16
0
 def get_toolsInfo(self):
     url = '/kitTemplate/findToolsKitList?pageNum=0&pageSize=50&manufacturerId=1'
     response = request.get(url)
     kitTemplateId = response['data']['rows'][0]['id']
     toolsSupplierId = response['data']['rows'][0]['supplierId']
     return kitTemplateId, toolsSupplierId
def finishPick(pickOrderId):
    # 根据拣货单id查询详情
    detail = request.get('/pickOrder/detail/%s' % pickOrderId)
    assert detail['msg'] == '请求成功'
    goodsDetail = detail['data']['goodsDetail']
    kitDetail = detail['data']['kitDetail']
    toolsKitDetail = detail['data']['toolsKitDetail']

    # 物资列表
    for goods in goodsDetail:
        # 物资udi
        udi = goods['udi']
        new_udi = re.sub(r'\D', "", udi)
        # 物资编号
        materialCode = goods['materialCode']
        # 货位号
        storageLocationId = goods['storageLocationId']
        # 物资待拣数量
        unpickedQuantity = int(goods['quantity']) - int(
            goods['pickedQuantity'])

        # 扫码获取批号信息
        gs1Decode = request.get('/goods/gs1Decode?code=%s' % new_udi)
        # 序列号
        serialNumber = gs1Decode['data']['serialNumber']
        # 物资id
        goodsId = gs1Decode['data']['goodsId']
        # 批号
        lotNum = gs1Decode['data']['lotNum']
        body = {
            'goodsId': goodsId,
            'lotNum': lotNum,
            'pickOrderId': pickOrderId,
            'serialNumber': serialNumber,
            'storageLocationId': storageLocationId
        }
        # 商品待拣货数量大于1时需多次拣货
        num = 0
        while num < unpickedQuantity:
            pick_response = request.put_body('/pickOrder/picking', body=body)
            assert pick_response['msg'] == '请求成功'
            num += 1
        log.info('物资%s拣货完成' % materialCode)

    # 套包列表 TODO
    for kit in kitDetail:
        print(kit)

    # 工具包列表
    for tools in toolsKitDetail:
        # 工具包条码
        operatorBarcode = tools['operatorBarcode']
        # kitStockId
        kitStockId = tools['kitStockId']
        # 货位号
        storageLocationId = tools['storageLocationId']
        # 物资待拣数量
        unpickedQuantity = int(tools['quantity']) - int(
            tools['pickedQuantity'])

        body = {
            'kitStockId': kitStockId,
            'pickOrderId': pickOrderId,
            'storageLocationId': storageLocationId
        }
        num = 0
        while num < unpickedQuantity:
            pick_response = request.put_body('/pickOrder/picking', body=body)
            assert pick_response['msg'] == '请求成功'
            num += 1
        log.info('工具包%s拣货完成' % operatorBarcode)

    # 完成拣货
    body2 = {
        'pickOrderId':
        pickOrderId,
        'imagePath':
        ['/file/2020/11/16/ac110bd6-ff1f-41ed-b645-a570a8c34df9/提货委托书.jpg']
    }
    finishPick = request.put_body('/pickOrder/pickFinished', body=body2)
    log.info('拣货单完成 %s' % finishPick)
    return finishPick