首页 > 家居生活 > 办公经验 >

怎么创建自己写的百度经验目录

来源:互联网 2023-03-17 23:44:07 203

百度经验越写越多,达到上百篇。如果要我一篇一篇的整理,无疑是一个很大的工作量。N5O办公区 - 实用经验教程分享!

下面,我就用Mathematica写一个网络爬虫,来爬取这些百度经验文章的标题以及对应的目录。N5O办公区 - 实用经验教程分享!

怎么创建自己写的百度经验目录?N5O办公区 - 实用经验教程分享!

工具/原料

  • 电脑
  • Mathematica
  • 互联网

方法/步骤

  • 1

    写爬虫,需要有网络支持,所以必须保证网路畅通。N5O办公区 - 实用经验教程分享!

    进入自己的百度经验个人中心。N5O办公区 - 实用经验教程分享!

    怎么创建自己写的百度经验目录?N5O办公区 - 实用经验教程分享!

  • 1本页面非法爬取自百度经验
  • 2

    注意看网页的网址,复制到粘贴板里面。N5O办公区 - 实用经验教程分享!

    怎么创建自己写的百度经验目录?N5O办公区 - 实用经验教程分享!

  • 3

    打开Mathematica,N5O办公区 - 实用经验教程分享!

    把上述网址粘贴到引号里面,并命名为url;N5O办公区 - 实用经验教程分享!

    然后用代码读取相应网页的html代码:N5O办公区 - 实用经验教程分享!

    URLRead[url, "Body"]N5O办公区 - 实用经验教程分享!

    html代码是以字符串的形式返回的,很长很长的一大篇。N5O办公区 - 实用经验教程分享!

    怎么创建自己写的百度经验目录?N5O办公区 - 实用经验教程分享!

  • 4

    在网页里面,选择一个标题,用右键审查元素,可以查看相应标题在上面html代码里面的位置,其中包括文章标题和这篇文章的超链接。N5O办公区 - 实用经验教程分享!

    怎么创建自己写的百度经验目录?N5O办公区 - 实用经验教程分享!

    怎么创建自己写的百度经验目录?N5O办公区 - 实用经验教程分享!

  • 5

    从html代码里面匹配出网页里面所有标题,就得用Mathematica了:N5O办公区 - 实用经验教程分享!

    标题=StringCases[URLRead[url, "Body"], ".html\" title=\"" ~~ Shortest[x__] ~~ "\"" :> x] ;N5O办公区 - 实用经验教程分享!

    每一页只显示7个标题,所以,Mathematica也只能爬取7个标题。N5O办公区 - 实用经验教程分享!

    怎么创建自己写的百度经验目录?N5O办公区 - 实用经验教程分享!

  • 6

    然后从html代码里面,把文章的链接后半部分爬取出来。N5O办公区 - 实用经验教程分享!

    pls=StringCases[URLRead[url, "Body"], "a href=\"/article/" ~~ Shortest[x__] ~~ "\" title=" :> x] ;Drop[pls, {2, -1, 2}] //ColumnN5O办公区 - 实用经验教程分享!

    由于html代码里面只显示了文章链接的后半部分,所以,我们先把这部分提取出来。N5O办公区 - 实用经验教程分享!

    怎么创建自己写的百度经验目录?N5O办公区 - 实用经验教程分享!

  • 7

    不同的文章链接,它们的前半部分是相同的,因此,我们只需要拼接字符串,就可以得到完整的链接:N5O办公区 - 实用经验教程分享!

    网址 = (StringJoin["……", #] & /@ Drop[pls, {2, -1, 2}]); 网址//ColumnN5O办公区 - 实用经验教程分享!

    其中,……表示的是,链接的前半部分,包括反斜杠。N5O办公区 - 实用经验教程分享!

    怎么创建自己写的百度经验目录?N5O办公区 - 实用经验教程分享!

  • 8

    这样,我们就得到一个表格,其中标题和链接一一对应。N5O办公区 - 实用经验教程分享!

    Grid[Transpose[{标题,网址}],Frame->All]N5O办公区 - 实用经验教程分享!

    怎么创建自己写的百度经验目录?N5O办公区 - 实用经验教程分享!

  • 批量爬取

  • 1

    一页一页的爬取,实在是不值得使用爬虫,直接复制粘贴就好了。N5O办公区 - 实用经验教程分享!

    然而,百度经验网页,每一页都有7篇,而目前我的百度经验,一共有89页。N5O办公区 - 实用经验教程分享!

    爬虫需要自动爬取这所有的标题,才靠谱。N5O办公区 - 实用经验教程分享!

    所以,要对每一页执行这些操作,就必须先获得每一页的网址:N5O办公区 - 实用经验教程分享!

    观察发现,不同页的网址基本相同,只有最后面的页数差异:N5O办公区 - 实用经验教程分享!

    第一页是0,第二页是7,第三页是……N5O办公区 - 实用经验教程分享!

    所以,只需要拼接上一个数字就可以了:N5O办公区 - 实用经验教程分享!

    全部页面= StringJoin["……………………", ToString@#] & /@ Range[0, 7*89, 7];N5O办公区 - 实用经验教程分享!

    怎么创建自己写的百度经验目录?N5O办公区 - 实用经验教程分享!

    怎么创建自己写的百度经验目录?N5O办公区 - 实用经验教程分享!

  • 2

    下图里面的Mathematica代码,爬取了前10页的标题和链接,并整理成为表格的形式。N5O办公区 - 实用经验教程分享!

    怎么创建自己写的百度经验目录?N5O办公区 - 实用经验教程分享!

  • 3

    运行之后,得到一个很大的表格,这里只能截图一部分。N5O办公区 - 实用经验教程分享!

    怎么创建自己写的百度经验目录?N5O办公区 - 实用经验教程分享!

  • 注意事项

    • 用Mathematica写爬虫,也是比较省力的。

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!N5O办公区 - 实用经验教程分享!


    标签: 百度经验

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码