怎么用Python爬虫出百度搜索内容的网站标题?

用“老龄智能”在百度百家号中搜索文章,爬取文章内容和相关信息。

导入库之后,这里我定义了两个header,第一个是百度搜索页使用,第二个是爬百家号文章时要用的。

  • 去年11月份的一段时间,Ethereum网络突然变的特别拥堵,原因是兴起了一款以太坊养猫的Dapp游戏,超级可爱的猫形象,再加上配种,繁殖和拍卖等丰富的玩法,风靡了币圈. 一时间币圈大大小小的人都在撸 ...

  • 1. 背景 基于nginx强大的功能,实现一种负载均衡,或是不停机更新程序等.nginx相比大家基本上都知道是什么来头了,具体的文章大家可以去搜索相关文章学习阅读,或是可以查看Nginx中文文档和Ng ...

}

相信大家都遇到一个问题——百度搜索的结果可能50%都是广告,今天我们尝试搭建一个个性化搜索引擎。
我们使用网络爬虫来解决该问题,从自动搜索、抓取网页,提取网页内容、按照个性化匹配内容,输出保存,模拟搜索引擎的工作工程。
Python在网络爬虫方面也有很多成熟的库,也有很好的框架可以提供。

Python网络爬虫,通过Python自动获取url的网页html内容,然后用正则表达式分析html,得到你想要的内容,包括url、文字、图片等。
如果必要,就可以对网页内url进行分析,进一步爬取,直到获得自己想要的内容。
当然通过文本语义分析,判断该网页是否是自己想要的内容也很重要。

今天我们用python3自带的获取url内容。urllib是一组处理URLs的包,其中request模块可以打开和读取url链接。
我们看一下最简单的爬取示例。

正则表达式处理HTML

然后我们就可以很容易写出提取标题的url和标题的正则表达式:

#没有办法一次性提取,先提问导航栏的全部内容

前面我们说过,Python的强大之处就是有很多“轮子”,可以直接拿来使用。正则表达式处理网页还是非常复杂的,不同网页必须重新写,而已经有人造好BeautifulSoup轮子,可以快速处理HTML,转换为Python对象,直接处理。
的使用有很多教程,需要大家自己学习,我也刚刚入门。
上面的功能可以快速实现:

#安装逻辑选择,首先过滤 mnav,然和遍历,分别获取url和名称 #用百度网页搜索关键字,返回前nums页的html #按照关键字过滤网页,按照某种优先级排序,这里算法可以很智能,需要搭建完善 #可以增加更多更智能的处理逻辑 #百度关键字搜索不一定对,如搜广东移动,可能出现移动,进一步强匹配 #多个关键字同时出现在标题或简介中 #只要一个关键字不在 title和text中,置否 #输出过滤后结果,仅作测试,真实代码可以不要这句

然后可以在命令行执行我们的个性化搜索引擎。

上面广告已经自动过滤调,同时减少68%的无效信息,个性化搜索引擎可以更适合自己,毕竟自己写的哈。
当然这个程序还有很多完善的地方,比喻语义分析相关,有一个分词的库——,我同样没有时间去学。欢迎大家补充。
Python有个强大的爬虫框架。非常强大,我也没时间去学。这些都期待你们的分享。
下一期,我们聊聊用Python进行网站搭建——简明Python开发教程(6):用Django搭建网站()。

  • 一个月之前,女儿幼儿园旁边的小广场上每周末都会举办机器人科普活动,由各个大专院校或相关机构承办。会有专门的老师带领...

  • 什么时候, 就开始懂得享受这份孤独, 喜欢一个人走走, 不要有那些烦扰的电话, 来打断我天马行空的想... 不要有...

  • 小朋友明天开学了。一个暑假的懒散时光,今天恢复成term day的睡前惯例,九点半完成睡前故事,睡觉。虽然之前小朋...

}

本文针对初学者,我会用最简单的案例告诉你如何入门python爬虫!

想要入门Python 爬虫首先需要解决四个问题

  • 了解网络爬虫的基本原理
  • 学习使用python爬虫库

一、你应该知道什么是爬虫?

网络爬虫,其实叫作网络数据采集更容易理解。

就是通过编程向网络服务器请求数据(HTML表单),然后解析HTML,提取出自己想要的数据。

  1. 解析HTML,获取目标信息

这会涉及到数据库、网络服务器、HTTP协议、HTML、数据科学、网络安全、图像处理等非常多的内容。但对于初学者而言,并不需要掌握这么多。

二、python要学习到什么程度

如果你不懂python,那么需要先学习python这门非常easy的语言(相对其它语言而言)。

编程语言基础语法无非是数据类型、数据结构、运算符、逻辑结构、函数、文件IO、错误处理这些,学起来会显枯燥但并不难。

刚开始入门爬虫,你甚至不需要去学习python的类、多线程、模块之类的略难内容。找一个面向初学者的教材或者网络教程,花个十几天功夫,就能对python基础有个三四分的认识了,这时候你可以玩玩爬虫喽!

当然,前提是你必须在这十几天里认真敲代码,反复咀嚼语法逻辑,比如列表、字典、字符串、if语句、for循环等最核心的东西都得捻熟于心、于手。

教材方面比较多选择,我个人是比较推荐python官方文档以及python简明教程,前者比较系统丰富、后者会更简练。

三、为什么要懂HTML

前面说到过爬虫要爬取的数据藏在网页里面的HTML里面的数据,有点绕哈!

维基百科是这样解释HTML的

超文本标记语言(英语:HyperTextMarkupLanguage,简称:HTML)是一种用于创建的标准。HTML是一种基础技术,常与、一起被众多网站用于设计网页、网页应用程序以及移动应用程序的用户界面。可以读取HTML文件,并将其渲染成可视化网页。HTML描述了一个网站的结构语义随着线索的呈现,使之成为一种标记语言而非。

总结一下,HTML是一种用于创建网页的标记语言,里面嵌入了文本、图像等数据,可以被浏览器读取,并渲染成我们看到的网页样子。

所以我们才会从先爬取HTML,再 解析数据,因为数据藏在HTML里。

学习HTML并不难,它并不是编程语言,你只需要熟悉它的标记规则,这里大致讲一下。

HTML标记包含标签(及其属性)、基于字符的数据类型、字符引用和实体引用等几个关键部分。

这些成对出现的标签中,第一个标签是开始标签,第二个标签是结束标签。两个标签之间为元素的内容(文本、图像等),有些标签没有内容,为空元素,如<img>

以下是一个经典的程序的例子:

HTML文档由嵌套的HTML元素构成。它们用HTML标签表示,包含于尖括号中,如<p>

在一般情况下,一个元素由一对标签表示:“开始标签”<p>与“结束标签”</p>。元素如果含有文本内容,就被放置在这些标签之间。

四、了解python网络爬虫的基本原理

在编写python爬虫程序时,只需要做以下两件事:

  • 解析HTML,获取数据

这两件事,python都有相应的库帮你去做,你只需要知道如何去用它们就可以了。

五、用python库爬取百度首页标题和图片

首先,发送HTML数据请求可以使用python内置库urllib,该库有一个urlopen函数,可以根据url获取HTML文件,这里尝试获取百度首页“”的HTML内容

# 获取的html内容是字节,将其转化为字符串 # 只提取logo图片的信息 # 提取logo图片的链接

本文用爬取百度首页标题和logo图片的案例,讲解了python爬虫的基本原理以及相关python库的使用,这是比较初级的爬虫知识,还有很多优秀的python爬虫库和框架等待后续去学习。

当然,掌握本文讲的知识点,你就已经入门python爬虫了。加油吧,少年!

}

我要回帖

更多关于 python爬虫网页爬取关键词 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信