From 5c7d70614ac9fc7c899ba5d9485dcbe8188284fc Mon Sep 17 00:00:00 2001
From: guanjihuan
Date: Wed, 17 Nov 2021 11:44:18 +0800
Subject: [PATCH] Update zhihu.py
---
language_learning/2021.11.17_zhihu/zhihu.py | 42 +++------------------
1 file changed, 5 insertions(+), 37 deletions(-)
diff --git a/language_learning/2021.11.17_zhihu/zhihu.py b/language_learning/2021.11.17_zhihu/zhihu.py
index 5fc2570..fc70486 100644
--- a/language_learning/2021.11.17_zhihu/zhihu.py
+++ b/language_learning/2021.11.17_zhihu/zhihu.py
@@ -3,7 +3,6 @@ This code is supported by the website: https://www.guanjihuan.com
The newest version of this code is on the web page: https://www.guanjihuan.com/archives/17937
"""
-
from bs4 import BeautifulSoup
from urllib.request import urlopen
import re
@@ -14,16 +13,7 @@ month = datetime.datetime.now().month
day = datetime.datetime.now().day
# 获取链接
-try:
- with open('link_list.txt', 'r', encoding='UTF-8') as f: # 如果文件存在
- link_list = f.read().split('\n') # 历史已经访问过的链接(数组类型)
-except:
- with open('link_list.txt', 'w', encoding='UTF-8') as f: # 如果文件不存在
- link_list = []
-f = open('link_list.txt', 'a', encoding='UTF-8') # 打开文件(补充)
-f.write('\nLink list obtained on '+str(year)+'.'+str(month).rjust(2,'0')+'.'+str(day).rjust(2,'0')+':\n')
-match_href = [] # 在本次运行中满足条件的链接
-
+match_href = []
# 由于没有模拟登录知乎,因此只能爬取到最新的两篇专栏博文
authors = ["https://www.zhihu.com/people/g3508/posts", # Guan
]
@@ -37,8 +27,7 @@ for i0 in range(len(authors)):
if re.search('//zhuanlan.zhihu.com/p/', href): # 文章的链接
if re.search('https:', href)==None: # 如果链接不是完整的,那么补充完整
href = 'https:'+ href
- if href not in match_href and href not in link_list and re.search('\?', href)==None: # 链接不重复
- match_href.append(href)
+ match_href.append(href)
# 对链接进行排序并写入文件
numbers = []
match_href_new = []
@@ -46,18 +35,12 @@ for href in match_href:
numbers.append(int(href[29:]))
numbers.sort(reverse = True)
for n in numbers:
- f.write('https://zhuanlan.zhihu.com/p/'+str(n)+'\n')
match_href_new.append('https://zhuanlan.zhihu.com/p/'+str(n))
-f.close()
-
# 获取内容并写入文件
-try:
- f_before = open('zhihu.txt', 'r', encoding='UTF-8')
- data = f_before.read()
- f = open('zhihu.txt', 'w', encoding='UTF-8')
-except:
- f = open('zhihu.txt', 'w', encoding='UTF-8')
+f = open('zhihu.html', 'w', encoding='UTF-8')
+f.write('')
+f.write(''+str(year)+'.'+str(month).rjust(2,'0')+'.'+str(day).rjust(2,'0')+' 已更新
')
for href in match_href_new:
try:
html = urlopen(href).read().decode('utf-8') # 打开文章链接
@@ -72,21 +55,6 @@ for href in match_href_new:
f.write(str(author.get_text()+' '))
post_time = soup.find("div", {"class" : "ContentItem-time"})
f.write(str(post_time.get_text())+'
')
-
except:
pass
-try:
- f.write(data)
- f_before.close()
-except:
- pass
f.close()
-
-# 制作HTML
-f_html = open('zhihu.html', 'w', encoding='UTF-8')
-f_html.write('')
-f = open('zhihu.txt', 'r', encoding='UTF-8')
-data = f.read()
-f_html.write(data)
-f.close()
-f_html.close()