简单的淘宝爬虫以及快递查询接口

#...........淘宝...........
#引入时间包
import  time
#引入selenium中的webdriver
from selenium import webdriver
# 输入查询的关键词
keyword=input('请输入要查询的关键词:')
#1.创建firefix浏览器对象
driver=webdriver.Firefox()
#打开淘宝网址
driver.get('http://www.taobao.com')
#通过ID找到输入框
search_input=driver.find_element_by_id('q')
#输入要搜索的关键词
search_input.send_keys(keyword)
#通过class找到搜索按钮
search_btn=driver.find_element_by_class_name(
    'btn-search')
#点击按钮
search_btn.click()
time.sleep(2)

#打开文件,encoding指定打大文件的字符编码
file_handle=open('%s.txt'%keyword,'w',encoding='utf-8')

#找到前10页内容
for x in range(1,3):
    print('正在获取第%s页内容,请稍后!'%x)
    #for循环执行五次
    for x in range(1,11,2):
        time.sleep(2)
        #把x转换小数
        j=x/10

        #拼接让浏览器滚动的代码
        #document.documentElement.scrollHeight获取浏览器总高度;%f浮点型占位符
        js='document.documentElement.scrollTop =document.documentElement.scrollHeight *%f'%j
        #执行让浏览器滚动的js代码
        driver.execute_script(js)

    #电脑,鼠标等class-name填写info_cont
    #其他的class-name填写J_MouserOnverReq
    shops = driver.find_elements_by_class_name(
        'J_MouserOnverReq')
    print(len(shops))
    if len(shops)==0:
    #查找当前页所有的商品信息,返回的是一个列表
        shops=driver.find_elements_by_class_name('info-cont')
        print(len(shops))
    #for 循环遍历列表,输出每一个商品信息
    for shop in shops:
        #写入文件商品信息
        file_handle.write(shop.text)
        file_handle.write('\n\n')
        #输出查看商品信息
        #print(shop.text)

    #找到下一页,点击
    #找到li标签,下一页标签
    next_li=driver.find_element_by_class_name('next')
    print(next_li)
    next_li.click()
time.sleep(5)
#退出浏览器
driver.quit()
import requests
'''
#从requests中引入get函数
from requests import get
'''
'''模块功能函数
def    d();
 整体缩进'''
import json
#存放公司代号字典
kd_dict={1:'shentong',2:'ems',3:'shunfeng',4:'yuantong',5:'zhongtong',6:'yunda',7:'quanfengkuaidi',8:'debangwuliu',9:'zhaijisong',10:'tiantian',11:'huitongkuaidi'}
while True:
    print('支持以下快递类型')
    print('1.申通快递')
    print('2.EMS邮政快递')
    print('3.顺丰速运')
    print('4.圆通快递')
    print('5.中通快递')
    print('6.韵达快递')
    print('7.全峰快递')
    print('8.德邦物流')
    print('9.宅急送')
    print('10.天天快递')
    print('11.汇通快递')
    print('0.退出程序')
    num=int(input('请输入你选择的快递类型:'))
    if num==0:
        break
    while num not in range(1,12):
        num = int(input('选项有误,请重新选择:'))
    type=kd_dict[num]
    postid=input('请输入你的快递单号')
    #拼接一个url
    url='http://www.kuaidi100.com/query?type=%s&postid=%s '%(type,postid)
    #发送请求
    rs=requests.get(url)
    kd_info=json.loads(rs.text)
    msg=kd_info['message']
    if msg=='ok':
        data=kd_info['data']
        for msg in data:
            time=msg['time']
            context=msg['context']
            print('时间:%s\n%s'%(time,context))
    else:
        if msg=='参数错误':
            print('您输入的快递单号有误,请重新输入:')
        else:
            print('您的单号已过期 ')


 
  

你可能感兴趣的:(简单的淘宝爬虫以及快递查询接口)