今日头条文章采集软件( 学完爬虫的一个Demo,作者是个詹密,平时主要逛逛虎扑)
优采云 发布时间: 2021-11-08 09:04今日头条文章采集软件(
学完爬虫的一个Demo,作者是个詹密,平时主要逛逛虎扑)
本篇文章预计阅读需8分钟复制代码
今天给大家带来的文章是作者学习爬虫后写的demo。作者是詹蜜,常来虎扑。所以我只是想看一些NBA新闻。抓到今日头条的读者一定知道,今日头条的新闻内容是通过Ajax加载的。不同于普通的静态页面。所以今天笔者就针对这种网站写一篇技术心得。废话不多。让我们进入主题。
1.准备
笔者这里使用Selenium来模拟浏览器的运行方式。用Selenium爬取页面的好处可以用一句话概括:看到就爬。也就是说,我们不必担心网页内部的具体渲染页面。我们需要安装 Selenium 库和 Chrome 浏览器以及 ChromeDriver。解析库 BeautifulSoup。数据捕获后,我们可以将其保存到数据库中或将其保存为文件。
2.爬取分析
在爬取之前,我们首先要分析一下爬取的逻辑。今天我们开启今日头条的NBA版块,如下图所示。
我们将鼠标光标放在任意一个新闻标题上,右击查看,打开开发者工具,可以看到新闻标题和链接在类标签“链接标题”中,如下图所示。
点击这个文章的链接可以跳转到这个文章的详细页面。然后我们打开开发者工具。我们可以提取出标题、作者、来源、内容等我们想要的信息。如下所示。
3.实操演练
我们刚刚分析了网页的逻辑,所以现在我们用程序来实现今天头条NBA新闻的爬取。
首先,我们需要获取当前页面每篇新闻文章的链接,代码如下。
获取到每个文章的链接后,我们就可以访问,获取我们想要的信息。实现如下。
最后,将捕获的新闻保存到数据库中。相关代码如下。
好的,这里我们已经抓住了我们想要的新闻,但还有一个问题。因为今天的头条是Ajax加载页面。所以我们不可能通过修改页数来获取更多的消息。我们只能得到我们当前访问的页面上显示的新闻。因此,如果我们想获得更多消息。我们应该做什么。笔者这里采用了一种模拟鼠标拖动的方法来解决我们想要获取更多内容的困境。代码显示如下。
在这一点上,我们的程序被认为是完整的。现在让我们看一下保存在数据库中的最终结果。
4. 结论
最后我们给出本节的代码地址:
想要进一步挑战的读者可以在完成本项目后尝试使用Scrapy框架。
参考代码:
相信如果你理解了这个文章,那么Ajax数据爬取对你来说就非常容易了。
如果它对你有用。请star。