需求

在这一节里,我们将实现获取知乎每日及每月最热问题的功能。

具体步骤

  • 访问知乎的发现的主页,获取html文本
  • 分析html文本,找出今日最热和本月最热的html特征
  • 解析html代码,拿到所有满足条件的链接
  • 拿到链接的文本,并打印

分析html代码

<a class="question_link" href="/question/264469853/answer/281600357" target="_blank" data-id="20218891" data-za-element-name="Title">
如何看待张召忠(局座)于12月22日在b站的《荒野行动》直播?
</a>

稍微分析一下可以看出,我们只需要拿到所有class=“question_link”的a标签就可以了。

代码

# zhihu.py
import requests
from bs4 import BeautifulSoup

url = 'https://www.zhihu.com/explore'
headers = {'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'}

soup = BeautifulSoup(requests.get(url, headers=headers).text, 'html.parser')

for link in soup.find_all('a', class_='question_link'):
    print(link.text)

运行

命令行中运行

python zhihu.py

预期结果

由于内容是动态的,所以结果应该跟我的结果不尽相同

如何看待美税改通过后各大公司的发福利提最低工资追加投资等行为?


全球变暖是必然吗?


主播进行游戏直播并从中获得打赏盈利涉及侵犯版权吗?


如何看待张召忠(局座)于12月22日在b站的《荒野行动》直播?


影史上有哪些经典的即兴表演镜头?


十年坚持做一件事,是种怎样的体验?


2018 年应届硕士毕业生如何拿到知名互联网公司深度学习 offer?


迄今为止你见过的最惊艳的建筑是?


有哪些令人心碎的小故事?


有哪些轻松幽默而又不低俗的段子或图片?


为什么人会失去婴儿时期的记忆?最早记忆是几岁呢?


你最喜欢的故事是什么?


做一个可爱的女孩子是一种什么体验?