python爬取360手机助手APP信息

这是一个爬虫软件,用来爬取360应用市场,App软件信息,现阶段代码只能爬取下载量,如需爬取别的信息,请自行添加代码。

使用方法:

1、在D盘根目录新建.tet文件,命名为App_name,并把App名称黏贴到文件内,格式如下:

image

2、直接运行就好。

最近比较忙,好久没更新博客了,为什么忙呢,是因为最近被派到“App专项治理组”做App治理工作了,在专班成立初期热心网友举报量比较多,天天处理举报问题,和统计被举报App的下载量,而且是5个应用市场下载量和,如果就几款App可能还好,但是每天处理几百款App,俺表示眼睛和手指头都抗议,这时我就想起了python,所以决定做5个爬虫,分别爬取5个应用市场上App信息,废话不多说,下面是我的代码:

1、第一种方法,使用字典完成。

import requests
from bs4 import BeautifulSoup
import xlsxwriter,time
'''
遇到不懂的问题?Python学习交流群:821460695满足你的需求,资料都已经上传群文件,可以自行下载!
'''
def write_excel(name, download, type_name=0, url=0):
    # 全局变量row代表行号 0-2代表列数
    global row
    sheet.write(row, 0, row)
    sheet.write(row, 1, name)
    sheet.write(row, 2, download)
 
    row += 1
 
 
headers = {'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'}
 
 
def App_download(url,app_name):
    # 获取地址
    i = 1
    try:
        time.sleep(0.5)
        req = requests.get(url=url,headers=headers)
        req.encoding = 'utf-8'
 
        # 获取的内容保存在变量
        html_all = req.text
 
        div_bf = BeautifulSoup(html_all, 'html.parser')  # 使用BeautifulSoup进行解析
        div = div_bf.find_all('div',class_='SeaCon')#查找SeaCon元素内容
 
        a_bf = BeautifulSoup(str(div), 'html.parser')  # 重新解析
        info = a_bf.find_all('li')  # 查找元素为'li'的内容,其中包括APP的名称和下载量信息
        name = info[0].dl.dd.h3.a.text.strip()
        all_list = []
        if name == app_name:
 
            download_num = BeautifulSoup(str(info[0]), 'html.parser')  # 重新解析
            texts = download_num.find_all('p', class_='downNum')#查找下载量
            find_download_num = texts[0].text.replace('\xa0'*8,'\n\n')[:-3]#去除不需要的信息
            print(name, find_download_num)
            write_excel(name,find_download_num)#写入xlsx文件
        else:
            find_download_num1= 'None'
            print(app_name,find_download_num1)
            write_excel(app_name,find_download_num1)
 
    except Exception as e:
        #print('error:%s,尝试重新获取'%(e,i))
        #print(url)
        if i != 3:
            App_download(url, app_name)
        i += 1
 
row = 1
# 新建一个excel文件
file = xlsxwriter.Workbook('360_applist.xlsx')
# 新建一个sheet
sheet = file.add_worksheet()
if __name__ == '__main__':
    path_file = "D:\\"
    Old_AppFlie = open(path_file + "App_name.txt").read()
    app_list = Old_AppFlie.split('\n')  # 把字符串转为列表
    #app_list = ['微信','1113123','支付宝','荔枝']
    for app_name in app_list:
        yyb_url = 'http://zhushou.360.cn/search/index/?kw={app_name}'.format(app_name=app_name)
        App_download(yyb_url,app_name)
    file.close()

运行结果:

image

可以查到的,会显示下载量,如果在应用中查不到会显示None,并把结果写到360_applist.xlsx文件中。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值