精华内容
下载资源
问答
  • excel里的数字删除再输遍。

    把excel里的数字删除再输遍。

    展开全文
  • Excel VBA实用技巧大全 附书源码

    热门讨论 2010-10-08 18:59:24
    01061获取Excel数据透视表工具栏信息 01062获取Excel的Web工具栏信息 01063获取Excel审阅工具栏信息 01064获取Excel窗体工具栏信息 01065获取Excel外部数据工具栏信息 01066获取Excel公式审核工具栏信息 01067获取...
  • 用Visual C++操纵MS Word

    千次阅读 2005-12-06 15:04:00
    你可以实现诸如:Word文件打印、传送数据到Word文档、发送E-MAIL、自动产生表格、Excel数据统计、圆饼图,直方图显示、自动报表生成、播放幻灯、doc,txt,HTML,rtf文件转换、中文简繁体转换、拼音或笔画排序.........

    用Visual C++操纵MS Word

    使用VC编程来操纵Office。你可以实现诸如:Word文件打印、传送数据到Word文档、发送E-MAIL、自动产生表格、Excel数据统计、圆饼图,直方图显示、自动报表生成、播放幻灯、doc,txt,HTML,rtf文件转换、中文简繁体转换、拼音或笔画排序......只要是Office能够实现的功能,都可以在你写的程序中调用。仔细阅读下面的说明,并下载源文件进行参考,你就可以一步一步地掌握这个技术。祝朋友们学习快乐。

    一、概念

    Microsoft 的 Office 产品中,都提供了OLE Automation 自动化程序的接口。如果你使用VB,VBA 和 Script 脚本调用 Office 功能的话,其实比使用 VC 调用要简单的多。比如在 WORD 中,调出菜单“工具(T)/宏(M)/录制新宏(R)”,这时候它开始记录你在 WORD 中任何菜单和键盘的操作,把你的操作过程保存起来,以便再次重复调用。而保存这些操作的记录,其实就是使用了 VBA 程序(Visual Basic for Application)。而我们下面要实现的功能,也同样要参考 VBA 的方法。

    二、结构层次

    为了更有逻辑,更有层次地操作 Office,Microsoft 把应用(Application)按逻辑功能划分为如下的树形结构

    Application(WORD 为例,只列出一部分)

    Documents(所有的文档)

    Document(一个文档)

    ......

    Templates(所有模板)

    Template(一个模板)

    ......

    Windows(所有窗口)

    Window

    Selection

    View

    Selection(编辑对象)

    Font

    Style

    Range

    ......

    ......

    只有了解了逻辑层次,我们才能正确的操纵 Office。举例来讲,如果给出一个VBScript语句是:

    application.ActiveDocument.SaveAs "c:/abc.doc"

    那么,我们就知道了,这个操作的过程是:第一步,取得Application;第二步,从Application中取得ActiveDocument;第三步,调用 Document 的函数 SaveAs,参数是一个字符串型的文件名。三、基本步骤

    (1)创建(或打开已有的)一个 MFC 的程序工程

    (2)Ctrl+W 执行 ClassWizard(本文按照 VC6 操作,例子程序也是在VC6 下编写测试的)

    (3)Add Class.../From a type Library... 在 Office 目录中,找到你想使用的类型库。(我使用的是 Office2000,其Word 的类型库文件,保存在 C:/Program Files/Microsoft Office/Office/MSWORD9.OLB)根据你 Office 的版本,可以使用下表列出的类型库文件

    Office 版本和类型类型库文件Office 版本和类型类型库文件
    Access 97Msacc8.olbPowerPoint 2000Msppt9.olb
    Jet Database 3.5DAO350.dllWord 2000Msword9.olb
    Binder 97Msbdr8.olbAccess 2002Msacc.olb
    Excel 97Excel8.olbExcel 2002Excel.exe
    Graph 97Graph8.olbGraph 2002Graph.exe
    Office 97Mso97.dllOffice 2002MSO.dll
    Outlook 97Msoutl97.olbOutlook 2002MSOutl.olb
    PowerPoint 97Msppt8.olbPowerPoint 2002MSPpt.olb
    Word 97Msword8.olbWord 2002MSWord.olb
    Access 2000Msacc9.olbOffice Access 2003Msacc.olb
    Jet Database 3.51DAO360.dllOffice Excel 2003Excel.exe
    Binder 2000Msbdr9.olbGraph 2003Graph.exe
    Excel 2000Excel9.olbOffice 2003MSO.dll
    Graph 2000Graph9.olbOffice Outlook 2003MSOutl.olb
    Office 2000Mso9.dllOffice PowerPoint 2003MSPpt.olb
    Outlook 2000Msoutl9.olbOffice Word 2003MSWord.olb

    (4)选择类型库文件后,在弹出的对话窗中继续选择要添加的类。具体选择什么类,要看你将来在程序中打算调用什么功能。当然,你也可以不用考虑这么多,用鼠标和Shift键配合,全部选择也可以。

    (5)初始化COM。方法一,找到App的InitInstance()函数,在其中添加 AfxOleInit()函数的调用;方法二,在需要调用COM功能的地方 CoInitialize(NULL),调用完毕后 CoUninitialize()。

    (6)在你需要调用 Office 功能函数的 cpp 文件中
    #include <atlbase.h> // 为了方便操作 VARIANT 类型变量,使用CComVariant 模板类
    #include "头文件.h"
    // 具体的头文件名,是由装载类型库的文件名决定的。(鼠标双点包装类的文件,就可以看到)
    // 比如使用 msword9.olb类型库,那么头文件是 msword9.h

    (7)好了,现在开始写程序吧。另外要说明的是,步骤3和4,其实也可以使用 #import 方式引入类型库。

    四、实现技巧

    在书写调用 Office 函数的过程中,最困难的是确定函数的参数,一般情况下,参数都是 VARIANT 类型的变量指针。那么到底具体我们应该怎么写那?推荐两个方法,其一是阅读有关 VBA 的书籍;其二,是使用 Office 中自带的“宏”功能。强烈推荐大家使用第二个方法,把你要完成的功能,在 Office 的操作环境中,用宏录制下来,然后观察分析录制后的函数和参数,就可以在 VC 中使用了。举一个例子:

    ActiveDocument.SaveAs FileName:="Hello.doc", FileFormat:=wdFormatDocument _

    , LockComments:=False, Password:="", AddToRecentFiles:=True, _

    WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _

    SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _

    False

    以上是在 Word 中录制的一个保存文件的宏,而在 VC 中对应的函数原型为 void _Document::SaveAs(VARIANT* FileName, VARIANT* FileFormat, VARIANT* LockComments,
    VARIANT* Password, VARIANT* AddToRecentFiles, VARIANT* WritePassword,
    VARIANT* ReadOnlyRecommended, VARIANT* EmbedTrueTypeFonts, VARIANT* SaveNativePictureFormat,
    VARIANT* SaveFormsData, VARIANT* SaveAsAOCELetter)

    分析对照后,我们就能看出,参数 FileName 是字符串 VARIANT(VT_BSTR),参数 LockComments 是布尔VARIANT(VT_BOOL),等等。参数 FileFormat := wdFormatDocument 是什么类型那?其实这是一个表示保存的时候指定文件类型的常量,而且显然是 DWORD 类型VARIANT(VT_I4)。那么常量的数值又是多少那?很简单,写一个宏,调用函数 MsgBox 显示一下不就都知道啦?!

    五、步步为营

    特别提示一:编译执行前,一定要先关闭 KV 实时监视病毒的功能(KV 的程序会干扰我们的调用,瑞星的则没关系)。

    特别提示二:在例子程序中,为了表现程序的关键部分,没有或很少使用了条件判断。为了实现你程序的健壮性,请自己加上条件判断和异常处理。

    展开全文
  • 你可以实现诸如:Word文件打印、传送数据到Word文档、发送E-MAIL、自动产生表格、Excel数据统计、圆饼图,直方图显示、自动报表生成、播放幻灯、doc,txt,HTML,rtf文件转换、中文简繁体转换、拼音或笔画排序.........

    源代码下载

      使用VC编程来操纵Office。你可以实现诸如:Word文件打印、传送数据到Word文档、发送E-MAIL、自动产生表格、Excel数据统计、圆饼图,直方图显示、自动报表生成、播放幻灯、doc,txt,HTML,rtf文件转换、中文简繁体转换、拼音或笔画排序......只要是Office能够实现的功能,都可以在你写的程序中调用。仔细阅读下面的说明,并下载源文件进行参考,你就可以一步一步地掌握这个技术。祝朋友们学习快乐。

    一、概念
      Microsoft 的 Office 产品中,都提供了OLE Automation 自动化程序的接口。如果你使用VB,VBA 和 Script 脚本调用 Office 功能的话,其实比使用 VC 调用要简单的多。比如在 WORD 中,调出菜单“工具(T)/宏(M)/录制新宏(R)”,这时候它开始记录你在 WORD 中任何菜单和键盘的操作,把你的操作过程保存起来,以便再次重复调用。而保存这些操作的记录,其实就是使用了 VBA 程序(Visual Basic for Application)。而我们下面要实现的功能,也同样要参考 VBA 的方法。

    二、结构层次
      为了更有逻辑,更有层次地操作 Office,Microsoft 把应用(Application)按逻辑功能划分为如下的树形结构

    Application(WORD 为例,只列出一部分)
      Documents(所有的文档)
    Document(一个文档)
    ......
      Templates(所有模板)
    Template(一个模板)
    ......
      Windows(所有窗口)
    Window
    Selection
    View
      Selection(编辑对象)
    Font
    Style
    Range
    ......
      ......

    只有了解了逻辑层次,我们才能正确的操纵 Office。举例来讲,如果给出一个VBScript语句是:
    application.ActiveDocument.SaveAs "c:/abc.doc"
    那么,我们就知道了,这个操作的过程是:第一步,取得Application;第二步,从Application中取得ActiveDocument;第三步,调用 Document 的函数 SaveAs,参数是一个字符串型的文件名。

    三、基本步骤
    (1)创建(或打开已有的)一个 MFC 的程序工程
    (2)Ctrl+W 执行 ClassWizard(本文按照 VC6 操作,例子程序也是在VC6 下编写测试的)
    (3)Add Class.../From a type Library... 在 Office 目录中,找到你想使用的类型库。(我使用的是 Office2000,其Word 的类型库文件,保存在 C:/Program Files/Microsoft Office/Office/MSWORD9.OLB)根据你 Office 的版本,可以使用下表列出的类型库文件

    Office 版本和类型

    类型库文件

    Office 版本和类型

    类型库文件

    Access 97 Msacc8.olb PowerPoint 2000 Msppt9.olb
    Jet Database 3.5 DAO350.dll Word 2000 Msword9.olb
    Binder 97 Msbdr8.olb Access 2002 Msacc.olb
    Excel 97 Excel8.olb Excel 2002 Excel.exe
    Graph 97 Graph8.olb Graph 2002 Graph.exe
    Office 97 Mso97.dll Office 2002 MSO.dll
    Outlook 97 Msoutl97.olb Outlook 2002 MSOutl.olb
    PowerPoint 97 Msppt8.olb PowerPoint 2002 MSPpt.olb
    Word 97 Msword8.olb Word 2002 MSWord.olb
    Access 2000 Msacc9.olb Office Access 2003 Msacc.olb
    Jet Database 3.51 DAO360.dll Office Excel 2003 Excel.exe
    Binder 2000 Msbdr9.olb Graph 2003 Graph.exe
    Excel 2000 Excel9.olb Office 2003 MSO.dll
    Graph 2000 Graph9.olb Office Outlook 2003 MSOutl.olb
    Office 2000 Mso9.dll Office PowerPoint 2003 MSPpt.olb
    Outlook 2000 Msoutl9.olb Office Word 2003 MSWord.olb

    (4)选择类型库文件后,在弹出的对话窗中继续选择要添加的类。具体选择什么类,要看你将来在程序中打算调用什么功能。当然,你也可以不用考虑这么多,用鼠标和Shift键配合,全部选择也可以。
    (5)初始化COM。方法一,找到App的InitInstance()函数,在其中添加 AfxOleInit()函数的调用;方法二,在需要调用COM功能的地方 CoInitialize(NULL),调用完毕后 CoUninitialize()。
    (6)在你需要调用 Office 功能函数的 cpp 文件中
    #include <atlbase.h> // 为了方便操作 VARIANT 类型变量,使用 CComVariant 模板类
    #include "头文件.h" // 具体的头文件名,是由装载类型库的文件名决定的。(鼠标双点包装类的文件,就可以看到)
    // 比如使用 msword9.olb类型库,那么头文件是 msword9.h
    (7)好了,现在开始写程序吧。另外要说明的是,步骤3和4,其实也可以使用 #import 方式引入类型库。

    四、实现技巧
       在书写调用 Office 函数的过程中,最困难的是确定函数的参数,一般情况下,参数都是 VARIANT 类型的变量指针。那么到底具体我们应该怎么写那?推荐两个方法,其一是阅读有关 VBA 的书籍;其二,是使用 Office 中自带的“宏”功能。强烈推荐大家使用第二个方法,把你要完成的功能,在 Office 的操作环境中,用宏录制下来,然后观察分析录制后的函数和参数,就可以在 VC 中使用了。举一个例子:

          ActiveDocument.SaveAs FileName:="Hello.doc", FileFormat:=wdFormatDocument _
            , LockComments:=False, Password:="", AddToRecentFiles:=True, _
            WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
             SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
            False

    以上是在 Word 中录制的一个保存文件的宏,而在 VC 中对应的函数原型为

          void _Document::SaveAs(VARIANT* FileName, VARIANT* FileFormat, VARIANT* LockComments,
            VARIANT* Password, VARIANT* AddToRecentFiles, VARIANT* WritePassword, 
            VARIANT* ReadOnlyRecommended, VARIANT* EmbedTrueTypeFonts, VARIANT* SaveNativePictureFormat, 
    	VARIANT* SaveFormsData, VARIANT* SaveAsAOCELetter)

    分析对照后,我们就能看出,参数 FileName 是字符串 VARIANT(VT_BSTR),参数 LockComments 是布尔VARIANT(VT_BOOL),等等。参数 FileFormat := wdFormatDocument 是什么类型那?其实这是一个表示保存的时候指定文件类型的常量,而且显然是 DWORD 类型VARIANT(VT_I4)。那么常量的数值又是多少那?很简单,写一个宏,调用函数 MsgBox 显示一下不就都知道啦?!

    五、步步为营
      特别提示一:编译执行前,一定要先关闭 KV 实时监视病毒的功能(KV 的程序会干扰我们的调用,瑞星的则没关系)。
       特别提示二:在例子程序中,为了表现程序的关键部分,没有或很少使用了条件判断。为了实现你程序的健壮性,请自己加上条件判断和异常处理。

    Step1:如何启动和关闭 WORD,及 VARIANT 的最基本的使用方法
    Step2:和 Step1 同样功能,用 CComVariant 改进了 VARIANT 的使用方式
    Step3:在 Step2 的基础上,新建一个 WORD 文档,并从程序中传送一些字符到 WORD
    Step4:在 Step3 的基础上,保存 WORD 文档
    Step5:一个小应用举例,把输入的汉字按照“笔画”排序
    Step6:一个小应用举例,正在使用的 WORD 文档
      以上这6个小程序中,都有详细的注释。大家阅读后慢慢体会并实验,你就可以自由地操纵任何一个 Office 啦。

    六、参考:Microsoft Office Development with Visual Studio  

    展开全文
  • EXCEL集成工具箱V6.0

    2010-09-11 01:44:37
    财 务 工 具 【自动填充】 不同于EXCEL的CTRL+D功能,能对选中的某列数据不同存储格区域的空白处,取相邻的上一不为空的存储格内容同时作数据源的自动填充。1分钟内能处理手工需几小时才能完成的几万行ERP或KingDee...
  • 【自动填充】 不同于EXCEL的CTRL+D功能,能对选中的某列数据不同存储格区域的空白处,取相邻的上一不为空的存储格内容同时作数据源的自动填充。1分钟内能处理手工需几小时才能完成的几万行ERP或KingDee原始数据。...
  • 《MATLAB统计分析与应用:40个...本书章节是这样安排的:第1章,利用MATLAB生成Word和:Excel文档;第2章,数据的导入与导出;第3章,数据的预处理;第4章,生成随机数;第5章,参数估计与假设检验;第6章,Copula理
  • 8.1.2 Access数据源控件(AccessDataSource) 8.1.3 目标数据源控件(ObjectDataSource) 8.1.4 LINQ数据源控件(LinqDataSource) 8.1.5 Xml数据源控件(XmlDataSource) 8.1.6 站点导航控件(SiteMapDataSource) ...
  • 财 务 工 具 【自动填充】 不同于EXCEL的CTRL+D功能,能对选中的某列数据不同存储格区域的空白处,取相邻的上一不为空的存储格内容同时作数据源的自动填充。1分钟内能处理手工需几小时才能完成的几万行ERP或KingDee...
  • 【自动填充】 不同于EXCEL的CTRL+D功能,能对选中的某列数据不同存储格区域的空白处,取相邻的上一不为空的存储格内容同时作数据源的自动填充。1分钟内能处理手工需几小时才能完成的几万行ERP或KingDee原始数据。...
  • 【自动填充】 不同于EXCEL的CTRL+D功能,能对选中的某列数据不同存储格区域的空白处,取相邻的上一不为空的存储格内容同时作数据源的自动填充。1分钟内能处理手工需几小时才能完成的几万行ERP或KingDee原始数据。...
  • 8.1.2 Access数据源控件(AccessDataSource) 8.1.3 目标数据源控件(ObjectDataSource) 8.1.4 LINQ数据源控件(LinqDataSource) 8.1.5 Xml数据源控件(XmlDataSource) 8.1.6 站点导航控件(SiteMapDataSource) ...
  • c#水晶报表

    热门讨论 2013-07-17 16:52:41
    ASP.NET3.5网络程序设计案例集锦\水晶...水晶报表同时连接多个数据源 调用Excel打印数据库中的数据 调用JavaScript实现打印功能 调用WebBrowser组件实现打印功能 调用Word打印数据库中的数据 图表在水晶报表中的应用
  • 明日科技《C#示例代码》(1-4)

    热门讨论 2012-07-06 10:38:51
    实例019 像Excel一样复制DataGridView中的单元格区域数据 69 实例020 DataGridView中单元格合并及添加、显示行号 74 实例021 从DataGridView控件中拖放数据到TreeView控件 78 第3章 图形图像及多媒体应用 ...
  • 明日科技《C#示例代码》(13-16)

    热门讨论 2012-07-06 12:44:37
    实例019 像Excel一样复制DataGridView中的单元格区域数据 69 实例020 DataGridView中单元格合并及添加、显示行号 74 实例021 从DataGridView控件中拖放数据到TreeView控件 78 第3章 图形图像及多媒体应用 ...
  • 明日科技《C#示例代码》(9-12)

    热门讨论 2012-07-06 12:32:14
    实例019 像Excel一样复制DataGridView中的单元格区域数据 69 实例020 DataGridView中单元格合并及添加、显示行号 74 实例021 从DataGridView控件中拖放数据到TreeView控件 78 第3章 图形图像及多媒体应用 ...
  • 明日科技《C#示例代码》(17-20)

    热门讨论 2012-07-06 12:48:57
    实例019 像Excel一样复制DataGridView中的单元格区域数据 69 实例020 DataGridView中单元格合并及添加、显示行号 74 实例021 从DataGridView控件中拖放数据到TreeView控件 78 第3章 图形图像及多媒体应用 ...
  • 明日科技《C#示例代码》(5-8)

    热门讨论 2012-07-06 12:28:45
    实例019 像Excel一样复制DataGridView中的单元格区域数据 69 实例020 DataGridView中单元格合并及添加、显示行号 74 实例021 从DataGridView控件中拖放数据到TreeView控件 78 第3章 图形图像及多媒体应用 ...
  • Calculate1.java 计算浮点数运算结果并调用页面中JavaScript函数的Applet。 Calculate1.class Calculate1.java的字节码文件。 第16章(\c16) 示例描述:介绍JavaScript访问本地文件的各种方法。 16.1....
  • java范例开发大全代码

    热门讨论 2011-10-30 23:31:51
     实例139 利用POI读取Word文件中的内容 208  7.3 字符流 209  实例140 按顺序创建文件 210  实例141 按顺序读取文件 211  实例142 追加文件内容 211  实例143 只显示文件中指定的字符 214  实例...
  • Java范例开发大全 (程序)

    热门讨论 2011-04-27 07:47:22
     实例139 利用POI读取Word文件中的内容 208  7.3 字符流 209  实例140 按顺序创建文件 210  实例141 按顺序读取文件 211  实例142 追加文件内容 211  实例143 只显示文件中指定的字符 214  实例144 ...
  • 如果一个项目既有"使用者" 也有"开发者"(或"黑客")邮件列表或论坛,而你又不会动到那些代码,那么就向"使用者"列表或论坛提问。不要假设自己会在开发者列表中受到欢迎,那些人多半会将你的提问视为干扰他们开发...
  • 12. 在下载和上载Office文档时不会产生临时文件 使用流数据作为Office文档的数据源,不会产生临时文件; 13. 能够禁止用户从文档拷贝数据; 14.支持简洁高效的编程接口 可使用Javascript和VBScript对控件进行编程。...
  •  编译时注意,如果你的电脑上没有安装Office2003及以上版本的话,可能会影响编译,代码调用了几个Office组件:ExcelWord,特此提醒。  本系统功能有:基础资料维护、计量单位、部门管理、货品类别、货品管理...
  • Python自动化ExcelWord,PDF,Web爬取等 面向初学者的完整Python教程 适用于数据科学的Python基础培训 介绍 在过去的几年中,开发了一些涉及抓取和数据处理的大型项目。它们是为完全不同的行业开发的,我们在这里...

    背景知识视频教程

    • Python自动化Excel,Word,PDF,Web爬取等
    • 面向初学者的完整Python教程
    • 适用于数据科学的Python基础培训

    介绍

    在过去的几年中,开发了一些涉及抓取和数据处理的大型项目。它们是为完全不同的行业开发的,我们在这里的方法也为所有这些找到最佳解决方案。

    主要工具

    • Python
    • BeautifulSoup库,用于处理从网页源代码(HTML和CSS)提取的文本
    • request库,用于处理与网页的交互(使用HTTP请求)
    • API调用-用于丰富我们的数据
    • 代理和用户代理轮换-生成随机标头以绕过安全性

    随意选择您选择的网站。但是对于本项目,我们正在选择此网站。 注意:本教程仅用于教育目的,我不建议您为任何非法活动而抓取该网站。 因此,我们先来看看我们正在抓取的内容。

    AZLyrics提供具有功能的歌曲普通歌词,以搜索歌曲并获取Singer演唱的所有歌曲的列表。这是一个简单的网站,不需要任何帐户或验证即可获得歌词。

    设置环境

    假设您已经安装了venv,但是如果尚未安装,则可以查看此链接以了解如何在系统中安装venv。

    现在创建一个新文件夹,如,python-azlyrics_scrapper并在其中创建venv。这将使env目录位于主目录内。

    python3 -m venv env
    

    激活Python环境使用代码源env / bin / activate。

    您还需要在开发环境中使用Pip安装各种依赖项,包括request,BeautifulSoup,Pandas和Regex。

    pip3 install requests regex pandas beautifulsoup4
    

    构建简单的URL提取功能

    创建新文件并另存为print_lyrics.py。要编写代码,您可以使用任何开发IDE。

    我更喜欢使用Sublime Text或Atom,但是您可以使用自己选择的IDE。现在,我们可以从在创建的文件中导入库开始

    import requests 
    from bs4 import BeautifulSoup
    

    现在要抓取网页,您必须了解HTML的一些基础知识。如果通过按F12打开“开发人员工具”或“检查元素”,则可以检查要从中提取数据的<div>类。

    在这里,您可以看到“ lyricsh”类包含歌手名称,而“ div-share”类包含歌曲名称。

    <div class="div-share"><h1>"I Cry" lyrics</h1></div>
    
    <div class="lyricsh">
    <h2><b>Shayne Ward Lyrics</b></h2>
    </div>
    

    因此,要从服务器获取页面,我们必须使用请求库使用其URL从Internet获取网页。

    # Importing Librabies
    import requests
    
    # Web Page you want to Scrap
    url = 'https://www.azlyrics.com/lyrics/shayneward/icry.html'
    response = requests.get(url)
    # Printing the Status Code of received URL
    print(response.status_code)
    # The Status code will be 200 if Everything is ok.
    

    在上述代码中,我们通过请求库请求URL,然后将结果保存在response中。要运行文件,您可以使用以下命令

    python3 print_lyrics.py
    

    现在要从响应中提取详细信息,我们必须使用BeautifulSoup库来解析HTML页面,这可以使用Command BeautifulSoup(response.text,‘html.parser’)命令从响应中获取html解析文本。 解析网页中的不同部分可能会有些混乱,但是通过实践,您可以轻松地从网页中获取所需的详细信息。

    # Importing Libraries
    import requests 
    from bs4 import BeautifulSoup
    
    url = 'https://www.azlyrics.com/lyrics/shayneward/icry.html'
    response = requests.get(url) # Using Requests to get Webpage
    html_soup = BeautifulSoup(response.text , 'html.parser') # Parsing the WebPage to get its HTML Content
    # These are 
    singer = html_soup.find('div' , class_ = 'lyricsh').h2.text
    song_name = html_soup.find('div' , class_ = 'col-xs-12 col-lg-8 text-center').find_all('div',class_= 'div-share')[1].text.split('"')[1]
    lyrics = html_soup.find('div' , class_ = 'col-xs-12 col-lg-8 text-center').find_all('div')[5].text
    
    print('Singer Name -> {}'.format(singer))
    print('Song Name -> {}'.format(song_name))
    print('Lyrics is -> {}'.format(lyrics))
    
    • 歌手姓名位于<div>中且带有“ lyricsh”
    • 歌曲和歌词没有唯一的类。可以使用find_all函数查找所有<div>并获取特定索引以获取详细信息
    • 您可以更改为其他人的Url,但是Page和Lyric的常规结构保持不变。

    该文件的输出将是终端中的歌手名称,歌曲名称和歌词。

    保存响应

    为了将此输出保存到磁盘,我将使用JSON转储数据,但是您也可以使用CSV或文本。 除非您计划废弃和管理数百万个歌词数据集,否则使用SQL将数据保存到磁盘可能会导致致命的后果。 只需要很少的歌词,JSON或CSV就会很好用。 完整代码现在看起来像

    import requests 
    from bs4 import BeautifulSoup
    import json
    
    url = 'https://www.azlyrics.com/lyrics/shayneward/icry.html'
    response = requests.get(url)
    html_soup = BeautifulSoup(response.text , 'html.parser')
    singer = html_soup.find('div' , class_ = 'lyricsh').h2.text
    song_name = html_soup.find('div' , class_ = 'col-xs-12 col-lg-8 text-center').find_all('div',class_= 'div-share')[1].text.split('"')[1]
    lyrics = html_soup.find('div' , class_ = 'col-xs-12 col-lg-8 text-center').find_all('div')[5].text
    
    data = {}
    data['singer'] = singer
    data['song_name'] = song_name
    data['lyrics'] = lyrics
    
    with open('data.json', 'w') as outfile:
        json.dump(data, outfile)
    

    这将在与歌手和歌词相同的目录中创建文件“ data.json”。

    标题池和代理池旋转请求

    工作环境和异步I / O编程

    自动化站点抓取

    API访问

    在Heroku上托管我们的Flask服务器

    详情参阅http://viadean.com/py_web_scrap.html

    展开全文
  • 书名:《ASP.NET开发实战1200例(第II卷)》(清华大学出版社.房大伟.吕双) PDF格式扫描版,全书分为15章,共825页。2011年6月出版。 全书压缩打包成2部分,这是第2部分 ...第9章 高效的数据源文件XML...
  • 书名:《ASP.NET开发实战1200例(第II卷)》(清华大学出版社.房大伟.吕双) PDF格式扫描版,全书分为15章,共825页。2011年6月出版。 全书压缩打包成2部分,这是第1部分 ...第9章 高效的数据源文件XML...
  • ★ 在下载和上载Office文档时不会产生临时文件使用流数据作为Office文档的数据源,不会产生临时文件。因此不会引起防病毒软件如Norton Antivirus的错误警告。 ★ 能够禁止用户从文档拷贝数据 IsNoCopy属性可以禁止...
  • V2,3,2,0版本之后,NTKO OFFICE文档控件支持直接从ODBC数据源读取文档内容,或者将文档内容存入ODBC数据源。这为C/S结构下创建共享的办公系统,文档管理,知识管理解决方案提供了更强大的接口。 8 状态栏,智能Web...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 164
精华内容 65
关键字:

word调用excel数据源