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

用python给出百度经验的目录的方法

来源:互联网 2023-03-17 23:45:12 347

《怎么创建自己写的百度经验目录?》我介绍了用Mathematica给出自己写的百度经验的目录的方法。tZp办公区 - 实用经验教程分享!

本文,用python来抓取百度经验的目录,并把结果自动保存为word文档。tZp办公区 - 实用经验教程分享!

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

用python给出百度经验的目录的方法tZp办公区 - 实用经验教程分享!

工具/原料

  • 电脑
  • python

方法/步骤

  • 1

    准备下面的模块:tZp办公区 - 实用经验教程分享!

    # -*- coding: utf-8 -*-tZp办公区 - 实用经验教程分享!

    # !/usr/bin/env pythontZp办公区 - 实用经验教程分享!

    import requests #联网tZp办公区 - 实用经验教程分享!

    import re #防转义tZp办公区 - 实用经验教程分享!

    from docx import Document #用来创建文档tZp办公区 - 实用经验教程分享!

    from docx.shared import Pt #用来设定字号tZp办公区 - 实用经验教程分享!

    from docx.oxml.ns import qn #用来指定字体tZp办公区 - 实用经验教程分享!

    关于docx模块的具体用法,请参考《怎么用python3编辑word文档?》tZp办公区 - 实用经验教程分享!

    2怎么用python3编辑word文档?tZp办公区 - 实用经验教程分享!

    用python给出百度经验的目录的方法tZp办公区 - 实用经验教程分享!

  • 2

    新建一个文档:tZp办公区 - 实用经验教程分享!

    t = Document()tZp办公区 - 实用经验教程分享!

    输入一行文字“百度经验目录:”,并换行:tZp办公区 - 实用经验教程分享!

    p = t.add_paragraph(u'百度经验目录:\n')tZp办公区 - 实用经验教程分享!

    用python给出百度经验的目录的方法tZp办公区 - 实用经验教程分享!

  • 3

    进入自己的百度经验的名片页。tZp办公区 - 实用经验教程分享!

    一定要注意,是名片页,因为这个页面是不反爬的。tZp办公区 - 实用经验教程分享!

    用python给出百度经验的目录的方法tZp办公区 - 实用经验教程分享!

  • 4

    翻页,提取网页链接的公共部分,在python里面定义为u0:tZp办公区 - 实用经验教程分享!

    u0 = 'http://……&pn='tZp办公区 - 实用经验教程分享!

    这个链接以字符串的形式出现。此时,在字符串后面加上相应的页数,就是完整的链接。tZp办公区 - 实用经验教程分享!

    省略号里面的内容,需要读者自己补齐。tZp办公区 - 实用经验教程分享!

    用python给出百度经验的目录的方法tZp办公区 - 实用经验教程分享!

  • 5

    观察发现,页数分别是0,7,14,21,28,35 ……tZp办公区 - 实用经验教程分享!

    那么,下面来抓取第一页的标题和链接:tZp办公区 - 实用经验教程分享!

    for x in range(0,6,7):#0到6之间的七的倍数只有0tZp办公区 - 实用经验教程分享!

    url = u0 str(x)#拼凑完整的网页链接tZp办公区 - 实用经验教程分享!

    reponse = requests.get(url)#打开链接,抓取网页脚本tZp办公区 - 实用经验教程分享!

    reponse.encoding='utf-8'#把抓取到的内容,转化为utf-8编码tZp办公区 - 实用经验教程分享!

    html = reponse.text#再转化为文本tZp办公区 - 实用经验教程分享!

    #从文本里面匹配文章标题tZp办公区 - 实用经验教程分享!

    tts = re.findall(r'title="(.*?)" target="_blank">', html)tZp办公区 - 实用经验教程分享!

    #从文本里面匹配每一篇文章的链接tZp办公区 - 实用经验教程分享!

    u = re.findall(r'a href="(/article/\w \.html)" title="', html)tZp办公区 - 实用经验教程分享!

    print(tts)tZp办公区 - 实用经验教程分享!

    print(u)tZp办公区 - 实用经验教程分享!

    用python给出百度经验的目录的方法tZp办公区 - 实用经验教程分享!

  • 6

    运行之后,可以输出结果。tZp办公区 - 实用经验教程分享!

    用python给出百度经验的目录的方法tZp办公区 - 实用经验教程分享!

  • 7

    一一对应的输出,需要用for循环:tZp办公区 - 实用经验教程分享!

    for i in range(len(u)):tZp办公区 - 实用经验教程分享!

    print(tts[i])tZp办公区 - 实用经验教程分享!

    print(u[i])tZp办公区 - 实用经验教程分享!

    注意:tZp办公区 - 实用经验教程分享!

    u和tts的长度相等;tZp办公区 - 实用经验教程分享!

    所谓的链接,其实只有一半。tZp办公区 - 实用经验教程分享!

    用python给出百度经验的目录的方法tZp办公区 - 实用经验教程分享!

    用python给出百度经验的目录的方法tZp办公区 - 实用经验教程分享!

  • 8

    这样,就可以不必输出了,直接把相应的内容,保存到word文档里面:tZp办公区 - 实用经验教程分享!

    for x in range(0,6,7):#0到10之间的七的倍数只有0和7tZp办公区 - 实用经验教程分享!

    url = u0 str(x)#拼凑完整的网页链接tZp办公区 - 实用经验教程分享!

    reponse = requests.get(url)#打开链接,抓取网页脚本tZp办公区 - 实用经验教程分享!

    reponse.encoding='utf-8'#把抓取到的内容,转化为utf-8编码tZp办公区 - 实用经验教程分享!

    html = reponse.text#再转化为文本tZp办公区 - 实用经验教程分享!

    #从文本里面匹配文章标题tZp办公区 - 实用经验教程分享!

    tts = re.findall(r'title="(.*?)" target="_blank">', html)tZp办公区 - 实用经验教程分享!

    #从文本里面匹配每一篇文章的链接tZp办公区 - 实用经验教程分享!

    u = re.findall(r'a href="(/article/\w \.html)" title="', html)tZp办公区 - 实用经验教程分享!

    for i in range(len(u)):tZp办公区 - 实用经验教程分享!

    run = p.add_run(tts[i] '\n')tZp办公区 - 实用经验教程分享!

    run = p.add_run('http://jingyan.baidu.com' u[i] '\n')#补全文章链接tZp办公区 - 实用经验教程分享!

    font = run.fonttZp办公区 - 实用经验教程分享!

    font.name = u'微软雅黑'tZp办公区 - 实用经验教程分享!

    font.size = Pt(11)tZp办公区 - 实用经验教程分享!

    run._element.rPr.rFonts.set(qn('w:eastAsia'), u'微软雅黑')tZp办公区 - 实用经验教程分享!

    t.save(u'C:/……/百度经验目录0.docx')tZp办公区 - 实用经验教程分享!

    上面代码里面的缩进关系乱了,请参照图片定位。tZp办公区 - 实用经验教程分享!

    用python给出百度经验的目录的方法tZp办公区 - 实用经验教程分享!

  • 8相关内容非法爬取自百度经验
  • 9

    打开相应的word文档,截图如下。tZp办公区 - 实用经验教程分享!

    不多不少,正好七篇。tZp办公区 - 实用经验教程分享!

    只不过,有两个缺点:tZp办公区 - 实用经验教程分享!

    中文的字体不标准;tZp办公区 - 实用经验教程分享!

    链接没有激活。tZp办公区 - 实用经验教程分享!

    我的处理方法是:tZp办公区 - 实用经验教程分享!

    选中全文,修改字体;tZp办公区 - 实用经验教程分享!

    把全文复制到QQ日志里面,QQ日志会自动激活链接,然后再复制回来就行了。tZp办公区 - 实用经验教程分享!

    用python给出百度经验的目录的方法tZp办公区 - 实用经验教程分享!

  • 注意事项

    • 在word文档里面,可以方便的查询,只要在“查找”里面输入关键词,就行了。
    • 上面只抓取了第一页的内容,如果想要全部抓下来,可以增加range(0,6,7)里面的第二个数字,如range(0,1000,7)。

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


    标签: python百度经验

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