Python crawler Baidu translation


import urllib.request
import urllib.parse
import json
import pandas as pd
import time
content=0
while True:
    #df = []
    file = r'..\data\pos.xls'
    xlsx = pd.ExcelFile(file)
    fin = pd.read_excel(xlsx, 'Sheet1', header=None)

    j=0
    i=0
    df = []
    for i in range(0,356):
     for eachLine in fin[0][j:j+30]:
                content = eachLine
                url="http://fanyi.baidu.com/v2transapi"
                data={}
                data['from']='zh'
                data['to']='en'
                data['query']=content
                data['transtype']='translang'
                data['simple_means_flag']='3'
                data=urllib.parse.urlencode(data).encode("utf-8")
                response=urllib.request.urlopen(url,data)
                html=response.read().decode("utf-8")
                target=json.loads(html)
                tgt=target['trans_result']['data'][0]['dst']
                df.append(tgt.strip() + '\n')
                print(j,':',i,':',tgt)
                time.sleep(1)
     i=i+1
if i%10==0:     
         time.sleep(120)
     if i % 20 == 0:
         time.sleep(150)
     if i % 30 == 0:
         time.sleep(170)
     j=j+31
     time.sleep(10)
    w = pd.DataFrame(df)
    w.to_excel( '..\data\pos1.xls' , sheet_name = 'Sheet1' , header = None , merge_cells = False , index = False )
     print ( 'Translation is successful, please view the file' )
     break

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325369802&siteId=291194637