| 企服解答
磁力搜索的原理是爬虫。磁力链接中含有一个BT种子的唯一身份标识,通过这个标识可以在DHT网络中搜索到拥有这个种子资源的其他peer。Python 爬虫架构主要由五个部分组成,分别是调度器、URL管理器、网页下载器、网页解析器、应用程序(爬取的有价值数据)。
磁力搜索是爬虫吗
1、调度器
相当于一台电脑的CPU,主要负责调度URL管理器、下载器、解析器之间的协调工作。
2、URL管理器
包括待爬取的URL地址和已爬取的URL地址,防止重复抓取URL和循环抓取URL,实现URL管理器主要用三种方式,通过内存、数据库、缓存数据库来实现。
3、网页下载器
通过传入一个URL地址来下载网页,将网页转换成一个字符串,网页下载器有urllib2(Python官方基础模块)包括需要登录、代理、和cookie,requests(第三方包)
4、网页解析器
将一个网页字符串进行解析,可以按照我们的要求来提取出我们有用的信息,也可以根据DOM树的解析方式来解析。网页解析器有正则表达式(直观,将网页转成字符串通过模糊匹配的方式来提取有价值的信息,当文档比较复杂的时候,该方法提取数据的时候就会非常的困难)、html.parser(Python自带的)、beautifulsoup(第三方插件,可以使用Python自带的html.parser进行解析,也可以使用lxml进行解析,相对于其他几种来说要强大一些)、lxml(第三方插件,可以解析 xml 和 HTML),html.parser 和 beautifulsoup 以及 lxml 都是以 DOM 树的方式进行解析的。
5、应用程序
就是从网页中提取的有用数据组成的一个应用。
| 拓展阅读
可以将爬虫总结为4个步骤:获取网页、提取信息、保存数据、自动化程序。
1、获取网页
爬虫首先要做的工作就是获取网页,也就是获取网页的源代码,源代码包含了网页的部分有用信息,所以只要把源代码获取下来,就可以从中提取想要的信息。
根据请求和响应的概念,向网站的服务器发送一个请求,返回的响应体便是网页源代码,因此最关键的部分就是构造一个请求并发送给服务器,然后接受到响应并将其解析出来。
2、提取信息
获取网页源代码后,接下来就是分析网页源代码,从中提取我们想要的数据,通用的万能法是采用正则表达式提取,缺点是比较复杂和容易出错。另外,由于网页结构有一定规则,python还有一些根据网页节点属性、CSS选择器或XPath来提取网页信息的库,如Beautiful Soup 、pyquery、lxml等。使用这些库,我们可以高效快速地从中提取网页信息,如节点属性、文本值等。提取信息是爬虫中非常重要的部分,它可以从杂乱的数据中获取有效的信息,方便我们后续对数据的处理和分析。
3、保存数据
提取信息后,我们一般会将提取到的数据保存到某处以便后续使用,保存形式多种多样,简单的处理可以保存为TXT或JSON文本。也可以保存到数据库,如MySQL和MongoDB等。或者保存至远程服务器。
4、自动化程序
简单来说,就是爬虫可以在抓取过程中进行各种异常处理、错误重试等操作,持续高效的自动化完成获取网页、信息提取、保存数据的工作。
[免责声明]
文章标题: 磁力搜索是爬虫吗
文章内容为网站编辑整理发布,仅供学习与参考,不代表本网站赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时沟通。发送邮件至36dianping@36kr.com,我们会在3个工作日内处理。