import requests
from bs4 import BeautifulSoup
from urllib.request import urlretrieve
from Ipchange import getIp
import re
from Ipchange import getIp
import time
import random
import urllib
Mypath="/home/rezirv/桌面/downloadapks/"
Url="http://www.appchina.com/category/30/1_1_2_1_0_0_0.html"
Topath='http://www.appchina.com'
def change(url,total_page):
    page_group = []
    for i in range(3, 30):
        link = re.sub('30/1_1_\d', '30/1_1_%s' % i, url, re.S)
        page_group.append(link)
    return page_group;
if __name__=='__main__':
    User_Agent = random.choice([
        "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",
        "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)",
        "Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.5; AOLBuild 4337.35; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",
        "Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)",
        "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; Media Center PC 6.0)",
        "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 1.0.3705; .NET CLR 1.1.4322)",
        "Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506.30)",
        "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.3 (Change: 287 c9dfb30)",
        "Mozilla/5.0 (X11; U; Linux; en-US) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.6",
        "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2pre) Gecko/20070215 K-Ninja/2.1.1",
        "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/20080705 Firefox/3.0 Kapiko/3.0",
        "Mozilla/5.0 (X11; Linux i686; U;) Gecko/20070322 Kazehakase/0.4.5",
        "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko Fedora/1.9.0.8-1.fc10 Kazehakase/0.5.6",
        "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11",
        "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.20 (KHTML, like Gecko) Chrome/19.0.1036.7 Safari/535.20",
        "Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; fr) Presto/2.9.168 Version/11.52",
        'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
    ])
    headers = {
        'User-Agent': User_Agent,
    }
    for Urlpath in change(Url,33):
        re=requests.get(Urlpath,headers=headers)
        time.sleep(3)
        test1=BeautifulSoup(re.content.decode('utf-8'),'lxml')
        for div1 in test1.find_all('li',class_='has-border app'):
            info=div1.find('div',class_='app-info').h1['title']
            a1=div1.find('a',class_='view-detail has-border')
            href=Topath+a1['href']
            re2=requests.get(href,headers=headers)
            time.sleep(4)
            finbe=BeautifulSoup(re2.content.decode('utf-8'),'lxml')
            div2=finbe.find('div',class_='download-button direct_download')
            if(div2!=None):
                a2=div2.a['onclick']
                path=Mypath+info+'.apk'
                urlretrieve(a2[19:-2],path)
                print('下载'+info+'完成')