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

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

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

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

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

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

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

工具/原料

  • 电脑
  • python

方法/步骤

  • 1

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

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

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

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

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

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

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

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

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

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

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

  • 2

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

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

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

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

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

  • 3

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

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

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

  • 4

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

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

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

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

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

  • 5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 6

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

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

  • 7

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

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

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

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

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

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

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

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

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

  • 8

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 注意事项

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

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


    标签: python百度经验

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