回享预备班:[6]分享杂志的发布步骤,加入回享计划成了签约作者后,除了写分享之外我们还可以采编杂志。杂志跟系列分享的功能相差不多,在我看来要比系列分享更具优点。杂志可以看作更简单直接明了的系列分享。我......
2023-03-19 324 百度经验
《怎么创建自己写的百度经验目录?》我介绍了用Mathematica给出自己写的百度经验的目录的方法。
本文,用python来抓取百度经验的目录,并把结果自动保存为word文档。
14怎么创建自己写的百度经验目录?
准备下面的模块:
# -*- coding: utf-8 -*-
# !/usr/bin/env python
import requests #联网
import re #防转义
from docx import Document #用来创建文档
from docx.shared import Pt #用来设定字号
from docx.oxml.ns import qn #用来指定字体
关于docx模块的具体用法,请参考《怎么用python3编辑word文档?》
2怎么用python3编辑word文档?
新建一个文档:
t = Document()
输入一行文字“百度经验目录:”,并换行:
p = t.add_paragraph(u'百度经验目录:\n')
进入自己的百度经验的名片页。
一定要注意,是名片页,因为这个页面是不反爬的。
翻页,提取网页链接的公共部分,在python里面定义为u0:
u0 = 'http://……&pn='
这个链接以字符串的形式出现。此时,在字符串后面加上相应的页数,就是完整的链接。
省略号里面的内容,需要读者自己补齐。
观察发现,页数分别是0,7,14,21,28,35 ……
那么,下面来抓取第一页的标题和链接:
for x in range(0,6,7):#0到6之间的七的倍数只有0
url = u0 str(x)#拼凑完整的网页链接
reponse = requests.get(url)#打开链接,抓取网页脚本
reponse.encoding='utf-8'#把抓取到的内容,转化为utf-8编码
html = reponse.text#再转化为文本
#从文本里面匹配文章标题
tts = re.findall(r'title="(.*?)" target="_blank">', html)
#从文本里面匹配每一篇文章的链接
u = re.findall(r'a href="(/article/\w \.html)" title="', html)
print(tts)
print(u)
运行之后,可以输出结果。
一一对应的输出,需要用for循环:
for i in range(len(u)):
print(tts[i])
print(u[i])
注意:
u和tts的长度相等;
所谓的链接,其实只有一半。
这样,就可以不必输出了,直接把相应的内容,保存到word文档里面:
for x in range(0,6,7):#0到10之间的七的倍数只有0和7
url = u0 str(x)#拼凑完整的网页链接
reponse = requests.get(url)#打开链接,抓取网页脚本
reponse.encoding='utf-8'#把抓取到的内容,转化为utf-8编码
html = reponse.text#再转化为文本
#从文本里面匹配文章标题
tts = re.findall(r'title="(.*?)" target="_blank">', html)
#从文本里面匹配每一篇文章的链接
u = re.findall(r'a href="(/article/\w \.html)" title="', html)
for i in range(len(u)):
run = p.add_run(tts[i] '\n')
run = p.add_run('http://jingyan.baidu.com' u[i] '\n')#补全文章链接
font = run.font
font.name = u'微软雅黑'
font.size = Pt(11)
run._element.rPr.rFonts.set(qn('w:eastAsia'), u'微软雅黑')
t.save(u'C:/……/百度经验目录0.docx')
上面代码里面的缩进关系乱了,请参照图片定位。
打开相应的word文档,截图如下。
不多不少,正好七篇。
只不过,有两个缺点:
中文的字体不标准;
链接没有激活。
我的处理方法是:
选中全文,修改字体;
把全文复制到QQ日志里面,QQ日志会自动激活链接,然后再复制回来就行了。
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
相关文章
回享预备班:[6]分享杂志的发布步骤,加入回享计划成了签约作者后,除了写分享之外我们还可以采编杂志。杂志跟系列分享的功能相差不多,在我看来要比系列分享更具优点。杂志可以看作更简单直接明了的系列分享。我......
2023-03-19 324 百度经验