c爬虫抓取网页数据(模拟浏览器发送请求,获取服务器响应的文件3、解析)
优采云 发布时间: 2021-10-14 11:28c爬虫抓取网页数据(模拟浏览器发送请求,获取服务器响应的文件3、解析)
b) 处理后的请求可以模拟浏览器发送的请求,获取服务器响应的文件
3、 解析服务器响应内容
a) re, xpath, beautifulSoup4(bs4), jsonpath, pyquery
b) 使用某种描述语言为我们需要提取的数据定义一个匹配规则,符合这个规则的数据就会匹配
4、如何处理采集动态HTML和验证码
a) 通用动态页面采集,Selenium+Phantomjs(无接口):模拟真实浏览器加载js,Ajax非静态页面数据
b) tesseract:机器学习库,机器图像识别系统,可以处理简单的验证码,复杂的验证码可以手动输入,编码平台
5、 Scrapy 框架(Scrapy、Pyspider)
高定制和高性能(异步网络框架扭曲),所以数据下载速度非常快,提供数据存储、数据下载、提取规则等组件
6、 分布式策略:
a)scrapy redis,在scrapy的基础上,增加了一套以redis数据库为核心的组件
b) 功能:主要做请求指纹去重、请求分发、数据在redis中的临时存储
7、 爬虫、反爬虫、反爬虫斗争:
a) 爬虫最头疼的不是复杂的页面,而是网站背后的另一个人
反爬虫:用户代理、代理、验证码、动态数据加载、加密数据
反爬虫主要看数据的价值,做反爬虫是否值得
主要考虑以下几个方面:机器成本+人工成本“数据价值,倒也不是,一般IP封堵结束
通用爬虫专注爬虫
1、万能爬虫:搜索引擎的爬虫系统
-1 目的:尽可能下载互联网上所有的网页,放到本地服务器上形成备份,然后对这些网页进行相应的处理(提取关键词,去除广告),最后提供一个借口要登录的用户
-2 抓取过程:
一种。优先选择一部分已有的网址,将这些网址放入待抓取的队列中
湾 从队列中取出这些URL,然后解析DNS得到主机IP,然后去这个IP对应的服务器下载HTML页面,保存到搜索引擎对应的服务器,然后把爬取到的URL进入抓取队列
C。分析这些网页的内容,找出网页中的其他网址链接,继续执行第二部分,直到爬虫条件结束
-3、搜索引擎如何获取新的网站 URL?
1、 主动提交网址给搜索引擎(百度连接提交)
2、在其他网站中设置外部链接:
3、搜索引擎会与DNS服务商合作,可以快速收录new网站
DNS:是一种将域名解析为IP的技术
-4、万能爬虫不是万能的,也需要遵守规则
机器人协议:协议会规定一般爬虫爬取网页的权限
Robots.txt 只是一个建议,不是所有爬虫都关注,只有大型搜索引擎爬虫需要关注
-5 一般爬虫工作流程:抓取网页、存储数据、内容处理、提供索引/排名服务
-6、搜索引擎排名:
一种。PageRank:根据网站流量统计(点击量/浏览量/流行度),流量越高
湾 竞价排名:谁出的钱越多,谁的排名就越高
-7、 一般爬虫的缺点:
1、 只能提供文本相关内容(HTML\WORD\PDF)等,不能提供多媒体、二进制
2、 上一篇提供的结果都是一样的,不要等不同背景的人提供不同的搜索结果
3、无法理解人类语义的检索
为了解决这个问题,出现了聚焦爬虫:
专注于爬虫:爬虫程序员针对某个内容编写的爬虫
面向主题的爬虫,面向需求的爬虫:会针对特定的内容爬取信息,并且会尽可能保证信息和需求的相关性