python 爬虫第一天(安装anaconda遇到的问题,网络爬虫,搜索引擎,http和https ,爬虫的准备工作,Hash算法)

编程入门 行业动态 更新时间:2024-10-07 06:38:27

python <a href=https://www.elefans.com/category/jswz/34/1770264.html style=爬虫第一天(安装anaconda遇到的问题,网络爬虫,搜索引擎,http和https ,爬虫的准备工作,Hash算法)"/>

python 爬虫第一天(安装anaconda遇到的问题,网络爬虫,搜索引擎,http和https ,爬虫的准备工作,Hash算法)

第一天

      • 安装anaconda遇到的问题
      • 网络爬虫
      • 搜索引擎
      • http和https
      • 爬虫准备工作
      • Hash算法

安装anaconda遇到的问题

遇到多版本兼容怎么办?有python和anaconda两个想用anaconda如何配置环境变量?path环境变量的意义:让系统找到一些exe文件。
1.如何配置?(1)配置一下路径:C:\Anaconda3----python.exeC:\Anaconda3\Scripts----pip.exe(2)把这两个目录放在path最前面。这样系统在找python和pip的时候会先找到anaconda下面的内容。、2.Python2和python3如何兼容?当我们在cmd输入Python命令的时候,系统回去path目录下面取寻找与命令相同的exe可执行文件来进行启动。当我们都安装了python2和python3的时候,只需要修改两个环境中的python.exe文件的文件名,比如python2的改成python2.exe,python3的改成python3.exe,这样将来输入命令的时候,如果想启动python3,可以输入python3命令来启动。pip也是一样的原理。pip3 install 模块名pip2 install 模块名3.在window终端写where pip  会在path环境变量中找pip谁在前面先用谁如何设置谁在前面:右击‘我的电脑’---->高级系统配置----->环境变量------>系统变量------->path(修改位置谁在前面先用谁,因为系统找时是从前向后找的)

网络爬虫

1、网络爬虫的定义:自动的抓取互联网上信息的程序脚本

2、爬虫可以解决的问题:

  • 解决冷启动问题
  • 搜索引擎的根基(做搜索引擎少不了爬虫)
  • 建立知识图谱,帮助建立机器学习知识图谱
  • 可以制作各种商品的比价软件,趋势分析

3.1 初级爬虫工程师

  • web 前端的知识:HTML、CSS、JavaScript、DOM、DHTMl、Ajax、JQuery、json等
  • 正则表达式,能提取正常网页想要的信息,比如某些特殊的文字, 链接信息, 知道什么是懒惰, 什么是贪婪型的正则
  • 会使用 XPath 等获取一些DOM 结构中的节点信息
  • 知道什么是深度优先, 广度优先的抓取算法, 及实践中的使用规则
  • 能分析简单网站的结构, 会使用urllib或requests 库进行简单的数据抓取

3.2 中级爬虫工程师

  • 了解什么事HASH,会简单地使用MD5,SHA1等算法对数据进行HASH一遍存储
  • 熟悉HTTP,HTTPS协议的基础知识,了解GET,POST方法,了解HTTP头中的信息,包括返回状态码,编码,user-agent,cookie,session等
  • 能设置user-agent进行数据爬取,设置代理等
  • 知道什么事Request,什么事response,会使用Fiddler等工具抓取及分析简单地网络数据包;对于动态爬虫,要学会分析ajax请求,模拟制造post数据包请求,抓取客户端session等信息,对于一些简单的网站,能够通过模拟数据包进行自动登录。
  • 对于一些难搞定的网站学会使用phantomjs+selenium抓取一些动态网页信息
  • 并发下载,通过并行下载加速数据爬取;多线程的使用。

3.3 高级爬虫工程师

  • 能够使用Tesseract,百度AI,HOG+SVM,CNN等库进行验证码识别。
  • 能使用数据挖掘技术,分类算法等避免死链。
  • 会使用常用的数据库进行数据存储,查询。比如mongoDB,redis;学习如何通过缓存避免重复下载的问题。
  • 能够使用机器学习的技术动态调整爬虫的爬取策略,从而避免被禁IP封禁等。
  • 能使用一些开源框架scrapy,scrapy-redis等分布式爬虫,能部署掌控分布式爬虫进行大规模数据爬取。

搜索引擎

1.搜索引擎的主要组成
通用爬虫:就是将互联网上的页面整体的爬取下来,保存在本地。
通用爬虫想要爬取网页,需要网站的url,并且搜索引擎需要可以搜素所有网页。那么通用爬虫url就需要涉及到所有网页,这个‘所有’是如何做到的。

  • 新网站向搜索引擎主动提交网址
  • 在其他网站上设置新网站外链
  • 搜索引擎和DNS解析服务商(如DNSPod)合作,新网站域名将被迅速抓取

2.搜索引擎的工作流程
第一步:抓取网页
通过将待爬取的url加入到通用爬虫的url队列中,进行网页内容的爬取。

第二步:数据存储
将爬取下来网页保存到本地。这个过程中会有一定的去重操作。如果某个网页的内容大部分重复,搜索引擎可能不会保存。

第三步:预处理
提取文字
中文分词
消除噪音(比如版权声明文字、导航条、广告等……)
索引处理

第四步:设置网站排名,为用户提供检索服务

3.搜索引擎的局限性

  • 搜索引擎只能爬取原网页,但是页面90%内容都是无用的。
  • 搜素引擎不能满足不同行业,不同人员的特定需求。
  • 通用搜索引擎只能爬取文字信息,对于视频,文件,音频等其他信息无法爬取。
  • 只能基于关键字查询,无法基于语义查询。

补充: 聚焦爬虫:聚焦爬虫在实施网页抓取时会对内容进行处理筛选,尽量保证只抓取与需求相关的网页信息。

http和https

1、什么是http协议?
http:超文本传输协议
他是一个规范-----约束发布和接收html页面的规范

补充: HTTPS (Hypertext Transfer Protocol over Secure Socket Layer)简单讲是http的安全版,在http下加入SSL层

2.http协议的端口号:80
https协议的端口号:443

3、http协议的特点

  • 是一个应用层协议
  • 无连接(每次请求都是独立的)http 1.1 增加了一个Connection: keep-alive,这个头表示,客户端和服务器的连接是一个长连接。
  • 无状态(无状态表示客户端每次请求都不能记录请求状态。也就是两条请求之间无法进行通信。)cookie和session可以帮助记录状态。

4.url:统一资源定位符
为什么可以通过url来定位互联网上的任意资源?
http://ip:port/path
ip:可以定位电脑
port:端口号—用来从互联网上进入电脑。
path:就是为了在电脑中找到对应的资源路径。

有三种特殊符号
?:问号后面就是请求参数。?username=‘zhangsan’&password=‘123’
&:请求参数用&连接。?username=‘zhangsan’&password=‘123’
#:表示锚点:锚点就是在请求这个url时,页面会跳入锚点指定位置。

基本格式:scheme://host[:port#]/path/…/[?query-string][#anchor]scheme:协议(例如:http, http, ftp)host:服务器的IP地址或者域名port:服务器的端口(如果是走协议默认端口,缺省端口80)path:访问资源的路径query-string:参数,发送给http服务器的数据anchor&#x

更多推荐

python 爬虫第一天(安装anaconda遇到的问题,网络爬虫,搜索引擎,http和https ,爬虫的准备工作,Hash算法)

本文发布于:2024-02-13 10:47:28,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1758365.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:爬虫   准备工作   算法   搜索引擎   网络

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!