如何用excel爬取电脑系统,爬虫抓取excel数据
1.如何利用EXCEL构建报表系统
2.苹果电脑怎么用ExCeL
3.网页中的excel附件可以爬取吗
电脑没有机器码的,我们所说的机器码指对电脑的配件(如硬盘)型号按一定算法演算出的代码.通常不同软件演算出的机器码都是不一样的,下面三个函数分别得到本机IP,电脑名称,硬盤Id.(硬盤id可做机器码)Public Function GetIPAddress() As String'得到IPSTRComputer = "."
Set OBJWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & STRComputer & "\root\cimv2")Set IPConfigSet = OBJWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE") For Each IPConfig In IPConfigSet If Not IsNull(IPConfig.IPAddress) Then For i = LBound(IPConfig.IPAddress) To UBound(IPConfig.IPAddress) GetIPAddress = IPConfig.IPAddress(i) Next End IfNext
End Function
Public Function GetUserName() As String'得到电脑名称STRComputer = "."
Set OBJWMIService = GetObject("winmgmts:\\" & STRComputer & "\root\CIMV2")Set ColCSItems = OBJWMIService.ExecQuery("SELECT * From Win32_ComputerSystem")For Each OBJCSItem In ColCSItems GetUserName = OBJCSItem.UserNameNext
End Function
Public Function GetDiskID(Disk As String) As String'得到磁盤IDDim Flag As BooleanDim DiskID As String
Flag = FalseOn Error GoTo label
DiskID = Str(CreateObject("Scripting.FileSystemObject").GetDrive(Disk).SerialNumber)
Flag = Truelabel:If Flag Then GetDiskID = DiskIDElse GetDiskID = "" x = MsgBox("Function Parameter Like C " + Chr(10) + Chr(13) + "Please Check The Existence Of The " + Disk + " Disk", vbInformation + vbOKOnly, "Microsoft Excel 5.0")End If
End Function
如何利用EXCEL构建报表系统
最近在准备上岸,备考中需做大量的练习,手机APP让练习无处不在,但有个缺点,就是每次只能练习10-20道题目,不能用题海战术,海量做题。能不能把网站的题库及解析都弄下来,在本地电脑上做题呢?以下是我的思路:1、分析并爬取手机软件的题库;2、调整好格式存入xls文件中;3、导入PC版可自定义的考试系统中(如教之初考试系统免费版);4、自行设置考试模式,海量练习。
倒腾了两天,终于搞定,后续再更新文章!
涉及到几个点。
1、关于手机网络数据的分析,我是用Fiddler 4进行的分析。
2、关于excel表格的操控,之前想用xlwings模块,后因没装office,用的是wps2013政府阉割版,无法操控,后改用xlrd、xlutils、shutil、os模块自己写了一个excel操纵类对象,发现还是有问题,后卸载阉割版wps,换了wps2016最新版的,就可以操作了。后来也没换xlwings模块了,将就着用自写模块。 大坑:xlrd模块好像不支持中文路径,全部换用英文路径,最后再把文件夹及文件名转换成中文的。
3、题库分类保存。
1、Fiddler抓包手机APP的网络请求
Fiddler是一款非常流行并且实用的http抓包工具,它的原理是在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应,不仅如此,它还可以支持请求重放等一些高级功能。显然它是可以支持对手机应用进行http抓包的。
设置在同一局域网下电脑端Fiddler抓取手机APP应用网络请求的步骤:
(1)电脑端启动Fiddler,打开菜单栏中的 Tools > Fiddler Options,打开“Fiddler Options”对话框。
(2)在Fiddler Options”对话框切换到“Connections”选项卡,然后勾选“Allow romote computers to connect”后面的复选框,然后点击“OK”按钮。( 小技巧: HTTPS标签中可以设置下拉框为...from remote clients only , 貌似 就只接收远程端的网络请求了)
(3)在电脑端的命令行输入:ipconfig,找到本机的ip地址。(我的局域网IP:192.168.1.10)
(4)在手机端,打开android设备的“设置”->“WLAN”,找到你要连接的网络,在上面长按,然后选择“修改网络”,弹出网络设置对话框,然后勾选“显示高级选项”。 (其实苹果手机也是类似的)
(5)在“代理”后面的输入框选择“手动”,在“代理服务器主机名”后面的输入框输入电脑的ip地址,在“代理服务器端口”后面的输入框输入8888,然后点击“保存”按钮。
(6)然后启动android设备中的APP应用,在fiddler中可以看到完整的请求和响应数据。
2、手机APP应用网络数据分析
手机上打开某笔公考软件后,从Fiddler左侧栏中可以看到大量的请求链接。
点击上图**区域的链接,可看到右侧详细数据。
在右侧详细数据栏中,我们可以看到请求的网址:POST http:// xxx bi.com/android/sydw/exercises?&platform=android22&version=6.4.3&vendor=Tencent&app=gwy&deviceId=F4J/K8kXx6+C24yqFuzAiA==&av=8&kav=3 HTTP/1.1
post请求的参数keypointId=621638&type=3&limit=15
返回的数据为Json格式,从返回数据中我们可以找出questionIds对应的题目编号,如2084744.
点击上上图(Fiddler网络请求响应)中红色框中的链接地址,我们可以看到右侧详细数据栏的数据
从上图中我们可以找到ID号为2084744的题目的题干、选项、题型、答案等有用数据。
分析基本结束,此手机APP应用的模式基本是这样:先请求15道题的ids,再根据meidaoti的ids请求题目相关数据。后续测试发现,请求questionIds时,修改参数,能一次最多请求到100道题的ids。
另外,从左侧请求链接可以找出对应的章节分类请求链接,根据分类号再查找对应的questionids,就可以把所有的题目抓取出来。
3、xls操控
将就着基于xlrd模块编写自用模块。
源码在此,可能格式错乱。需整理。
'''python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on 2018-05-14 12:48:07
@author: wangzheng
Sys_Env : Windows_AMD64 Python3.5.2
Wechat : hrcl2015(微信)
Filename: MyXls.py
Description : xls文件操控类MyXls
注意:文件路径中不能有中文名,否则出错
"""
from xlrd import open_workbook
from xlutils.copy import copy
import os,shutil
class MyXls:
def __init__(self,fpath=None,modelfpath=None,sheetindex=None,protectrow=None,overwrite=True):
self.openxlspath=''#已打开的xls文件
self.sheetindex=None#当前工作表索引
self.rb=None#
self.wb=None#workbook工作簿
self.ws=None#worksheet工作表
self.headrow=0#开头保护行数
if (fpath is not None) and (modelfpath is not None):
self.open_copy_xls(modelfpath,fpath,True)
elif fpath is not None:self.open_xls(fpath)
if sheetindex is not None:self.get_sheet(sheetindex)
if protectrow is not None:self.headrow=protectrow
def open_xls(self,fpath):
path=fpath
try:
rb = open_workbook(path)
except Exception as err:
print("File not exists: "+str(err))
return False
#通过sheet_by_index()获取的sheet没有write()方法
#rs = rb.sheet_by_index(0)
#rs = rb.sheet_by_name('sheet 1')
self.wb = copy(rb)
self.openxlspath=path
return True
def get_sheet(self,sheet_index=0):
sheets=sheet_index
#通过get_sheet()获取的sheet有write()方法
self.ws = self.wb.get_sheet(sheets)
self.sheetindex=sheets
def write_xls(self,row_index,column_index,data_str):
row,col,data=row_index,column_index,data_str
#写入数据
self.ws.write(row,col,data)#write(行,列,内容),索引从0开始
def write_xls_bycolname(self,row_index,column_name,data_str):
column_index=self.colname_to_num(column_name)
row,col,data=row_index,column_index,data_str
#写入数据
self.ws.write(row,col,data)#write(行,列,内容),索引从0开始
def write_xls_bysheet(self,sheetindex,row_index,column_name,data_str):
'''在指定工作表的指定行列表格中写入数据'''
if self.sheetindex != sheetindex :self.get_sheet(sheetindex)
self.write_xls_bycolname(row_index,column_name,data_str)
def save_xls(self,fpath=None):
if fpath is None:
self.wb.save(self.openxlspath)
print('saved '+self.openxlspath)
else:
path=fpath
self.wb.save(path)#保存xls文件
print('saved '+path)
return True
def open_copy_xls(self,model_fpath,new_fpath,overwrite=True):
'''参照模板文件,复制并打开xls文件'''
if os.path.exists(model_fpath) :
new_fpath=self.auto_mkdir(new_fpath)
if (not os.path.exists(new_fpath)) or overwrite:
#print('copy[%s]to[%s]'%(model_fpath,new_fpath))
shutil.copy(model_fpath,new_fpath)
return self.open_xls(new_fpath)
else:print('新文件已存在,请修改新文件名!');return False
else:print('模板文件不存在,不能复制到新文件!');return False
def num_to_colname(self,col_index,start=0):
#列索引转列名,基数start从0开始,0-->A
if type(col_index) != int:
return col_index
if start==0:
x=col_index+1
elif start==1:
x=col_index
s=''
flag=False#借位标志
while x>26:
y=x%26#取余0-25
if y==0:y=26;flag=True;
d=chr(y+64)#低位
s=d+s
x=x//26#整除取商
if flag:x=x-1;flag=False;#如果借位,商要先-1
g=chr(x+64)#高位
s=g+s
return s
def colname_to_num(self,colname,start=0):
#列名转列索引 A-->0,B->1,开始基数start为0
if type(colname) is not str:
return colname
colname=colname.upper()#转成大写
col = 0
power? = 1
#print(len(colname))#位数
for i in range(len(colname) - 1, -1, -1):#range(start=0,stop,step=1)
ch = colname[i] #倒序取字母
#print(ch)#所在位上的字母
col += (ord(ch) - ord('A') +? 1 ) * power
power *= 26
#print(col-1)
if start==0:return col-1
if start==1:return col
def auto_mkdir(self,fpath):
'''自动补全目录,目录不存在就创建目录'''
#fpath='D:\\MyPython\\粉笔公考题库提取\\678\\980\\test.txt'
fpath=fpath.replace('\\','/')
if not os.path.exists(fpath):
plst=fpath.split(sep='/')
path=''
if not fpath.endswith('/'):plst=plst[:-1]
for p in plst:
path=path+p+'/'
if not os.path.exists(path):os.mkdir(path)
return fpath
if __name__=='__main__':
model_fpath='D:\\MyPython\\model.xls'
new_fpath='D:\\MyPython\\abc\\123/out.xls'
# myxls=MyXls()
# myxls.open_copy_xls(model_fpath,new_fpath)
# myxls.get_sheet(0)
myxls=MyXls(new_fpath,model_fpath,2,3)
myxls.write_xls_bycolname(6,'K','K列6行数据')
# myxls.save_xls(new_fpath)
myxls.save_xls()
pass
'''
4、文件保存
保存成xls文件,和txt文件,txt文件再转换成word文档打印出来。大概有7个大类,100+小类,12737道题。
5、导入题库软件
xls文件导入题库中。
6、大功告成
PS:某笔app更新后,加入了防抓取数据的功能,貌似安卓5.1以上的都不能抓取了。
据资深网友反应,使用安卓模拟器(系统版本4.4)还可以抓到明文数据,有兴趣的读者可以试一试。
苹果电脑怎么用ExCeL
用电脑打开Excel新建表格可以制作表格。
1.首先在桌面上右击鼠标,新建表格之后,打开Excel软件,Excel会自动创建一个电子表格。
2.进入后,首先需要确定一个主题,选择图示中的单元格,点击合并居中。
3.输入主题,建立排序,完成主题的颜色区分和细节完善。
4.根据以上步骤就可以建立和制作表格。
针对日常工作中报表数量大、种类多、制作难、不易查找的特点,探索利用EXCEL的工作薄、超链接、单元格引用、保护工作表、选择性粘贴等功能轻松构建报表系统,实现自动制作报表、有序组织报表、安全保护报表及方便地查找和使用报表。
在目前的市场上的报表设计器基本上都是在Java web的基础上实现的,自带Excel的设计器,而且也可以完全按照Excel来操作,有着简洁明了的配置。当然也有一些BI软件是兼具功能性和灵活性使用起来更便捷,比如smartbi。
smartbi报表设计器在制作的时候,方法也非常的简单。首先就应该创建数据集,然后单击文件进入到新表单的创建过程中,直接添加所需要的控件就行,其中也包含了图表组件,报表块组件,还有参数组件等等,整体操作比较简单,我们只需要把数据绑定到控件中,那么就能够看到最为明显的效果。最终发布报表之后进行保存,我们就可以进行权限的设置,也可以定义安全性,更加可以管理报表文件,能够有着很好的简便性。
借助Excel的强大,赋予其“设计器”的责任,从此WEB报表更丰富、更灵活,降低企业报表开发门槛!集成Excel和ECharts,使得Insight具有丰富的展现力、强大的互动性(基于单元格和对象的数据模型)、超级灵活的布局能力。深度整合Excel的现有能力,在Excel界面中完成报表、数据分析应用的设计。简单、高效、智能,可快速搭建的企业级Web报表。从报表开发的数据准备、样式设计、数据计算、数据可视化到互动逻辑、共享发布。
思迈特软件Smartbi经过多年持续自主研发,凝聚大量商业智能最佳实践经验,整合了各行业的数据分析和决策支持的功能需求。满足最终用户在企业级报表、数据可视化分析、自助探索分析、数据挖掘建模、AI智能分析等大数据分析需求。
思迈特软件Smartbi个人用户全功能模块长期免费试用
马上免费体验:Smartbi一站式大数据分析平台
网页中的excel附件可以爬取吗
可以用苹果numbers转换成excel。
方法如下:
1、双击或者右键单击需要转换的工作表文件,然后选择打开方式numbers?
2、打开工作表文件,选择菜单栏的文件选项然后选择导出到Excel选项
3、在弹出的导出到您的电子表格界面,直接下一步即可(这里说一下,如果你的工作环境可能使用的Excel版本比较低,建议选择高级选项,选择.xls选项)
4、点击下一步后,出现如图所示的对话框,输入文件名和保存的目录路径即可(默认路径是源文件的目录路径)点击文件名后面的下箭头按钮,可以设置显示后缀名
5、转换成功就可以使用Office打开了
6、为了测试兼容性,这里使用的是Windows系统正常打开了,也就可以用Excel处理任务了。
所以苹果自带的numbers可以打开excel,编辑结束后可以导出为.xls或者.xlsx格式。
扩展资料直接用mac版本的注意事项:
1. 安装Office 2011 for mac,注意此时 Safari 不要打开,一定要彻底关闭;
2. 安装完成,不要注册,直接点击退出; 3. 双击释放“ Office 2011 激活程序.dmg ” 文件打开, 然后再击“office2011_pl_requird_office.pkg”文件,安装,注意一定不要点其他的选项。网页中的excel附件可以爬取。
网页是构成网站的基本元素是承载各种网站应用的平台,通俗地说您的网站就是由网页组成的如果您只有域名和虚拟主机而没有制作任何网页的话您的客户仍旧无法访问您的网站。
简介
文字与是构成一个网页的两个最基本的元素你可以简单地理解为文字就是网页的内容就是网页的美观,除此之外网页的元素还包括动画音乐程序等。
网上直接调查时采取较多的方法是被动调查方法将调查问卷放到网站等待被调查对象自行访问和接受调查,因此吸引访问者参与调查是关键为提高受众参与的积极性可提供免费礼品调查报告等另外必须向被调查者承诺并且做到有关个人隐私的任何信息不会被泄露和传播。
无论是平面设计还是网页设计色彩永远是最重要的一环,当我们距离显示屏较远的时候我们看到的不是优美的版式或者是美丽的而是网页的色彩。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。