当前位置: 首页 > news >正文

郑州企业网站建设团队诸城网站制作

郑州企业网站建设团队,诸城网站制作,企业建设微网站的重要性,上海上市公司排名Python爬虫原理 前言 简单来说互联网是由一个个站点和网络设备组成的大网#xff0c;我们通过浏览器访问站点#xff0c;站点把HTML、JS、CSS代码返回给浏览器#xff0c;这些代码经过浏览器解析、渲染#xff0c;将丰富多彩的网页呈现我们眼前#xff1b; 一、爬虫是什…Python爬虫原理 前言 简单来说互联网是由一个个站点和网络设备组成的大网我们通过浏览器访问站点站点把HTML、JS、CSS代码返回给浏览器这些代码经过浏览器解析、渲染将丰富多彩的网页呈现我们眼前 一、爬虫是什么 如果我们把互联网比作一张大的蜘蛛网数据便是存放于蜘蛛网的各个节点而爬虫就是一只小蜘蛛 沿着网络抓取自己的猎物数据爬虫指的是向网站发起请求获取资源后分析并提取有用数据的程序 从技术层面来说就是 通过程序模拟浏览器请求站点的行为把站点返回的HTML代码/JSON数据/二进制数据图片、视频 爬到本地进而提取自己需要的数据存放起来使用 二、爬虫的基本流程 用户获取网络数据的方式 方式1浏览器提交请求—下载网页代码—解析成页面 方式2模拟浏览器发送请求(获取网页代码)-提取有用的数据-存放于数据库或文件中 爬虫要做的就是方式2 1、发起请求 使用http库向目标站点发起请求即发送一个Request Request包含请求头、请求体等 Request模块缺陷不能执行JS 和CSS 代码 2、获取响应内容 如果服务器能正常响应则会得到一个Response Response包含htmljson图片视频等 3、解析内容 解析html数据正则表达式RE模块第三方解析库如Beautifulsouppyquery等 解析json数据json模块 解析二进制数据:以wb的方式写入文件 4、保存数据 数据库MySQLMongdb、Redis 文件 三、http协议 请求与响应 Request用户将自己的信息通过浏览器socket client发送给服务器socket server Response服务器接收请求分析用户发来的请求信息然后返回数据返回的数据中可能包含其他链接如图片jscss等 ps浏览器在接收Response后会解析其内容来显示给用户而爬虫程序在模拟浏览器发送请求然后接收Response后是要提取其中的有用数据。 四、 request 1、请求方式 常见的请求方式GET / POST 2、请求的URL url全球统一资源定位符用来定义互联网上一个唯一的资源 例如一张图片、一个文件、一段视频都可以用url唯一确定 url编码 https://www.baidu.com/s?wd图片 图片会被编码看示例代码 网页的加载过程是 加载一个网页通常都是先加载document文档 在解析document文档的时候遇到链接则针对超链接发起下载图片的请求 3、请求头 User-agent请求头中如果没有user-agent客户端配置服务端可能将你当做一个非法用户host cookiescookie用来保存登录信息 注意 一般做爬虫都会加上请求头 请求头需要注意的参数 1Referrer访问源至哪里来一些大型网站会通过Referrer 做防盗链策略所有爬虫也要注意模拟 2User-Agent:访问的浏览器要加上否则会被当成爬虫程序 3cookie请求头注意携带 4、请求体 请求体 如果是get方式请求体没有内容 get请求的请求体放在 url后面参数中直接能看到 如果是post方式请求体是format data ps 1、登录窗口文件上传等信息都会被附加到请求体内 2、登录输入错误的用户名密码然后提交就可以看到post正确登录后页面通常会跳转无法捕捉到post五、 响应Response 1、响应状态码 200代表成功 301代表跳转 404文件不存在 403无权限访问 502服务器错误 2、respone header 响应头需要注意的参数 1Set-Cookie:BDSVRTM0; path/可能有多个是来告诉浏览器把cookie保存下来 2Content-Location服务端响应头中包含Location返回浏览器之后浏览器就会重新访问另一个页面 3、preview就是网页源代码 JSO数据 如网页html图片 二进制数据等 六、总结 1、总结爬虫流程 爬取—解析—存储 2、爬虫所需工具 请求库requests,selenium可以驱动浏览器解析渲染CSS和JS但有性能劣势有用没用的网页都会加载 解析库正则beautifulsouppyquery 存储库文件MySQLMongodbRedis 3、爬获校花网 最后送给大家点福利吧 基础版 View Code 函数封装版 View Code 并发版如果一共需要爬30个视频开30个线程去做花的时间就是 其中最慢那份的耗时时间 View Code 涉及知识多线程多进程 计算密集型任务使用多进程因为能Python有GIL多进程可以利用上CPU多核优势 IO密集型任务使用多线程做IO切换节省任务执行时间并发 线程池 参考博客 瞎驴http://www.cnblogs.com/linhaifeng/articles/7773496.html
http://www.w-s-a.com/news/775019/

相关文章:

  • 网站开发维护专员岗位职责辽阳企业网站建设
  • 做外国订单有什么网站网站设计论文提纲
  • 商城网站建设报价方案导师让做网站
  • 清远市企业网站seo联系方式动易官方网站
  • 手机上怎么做能打开的网站一级域名和二级域名跨域
  • 网站首页效果图wordpress 在线教育
  • 电商网站开发团队广西桂林商贸旅游技工学校
  • 网站模板文件怎么下载东莞常平镇邮政编码
  • 建网站需要什么wordpress误删的后果
  • wordpress无插件实现网站地图做阿里巴巴网站店铺装修费用
  • 英文互动网站建设南宁住房和城乡建设局网站
  • 威海微网站建设乐清建网站哪家强
  • 网站和app的开发成本saas系统开发教程
  • ps切片工具做网站大气简洁网站
  • 网至普的营销型网站建设wordpress邮箱验证插件下载
  • 找权重高的网站方法张家港早晨网站建设
  • WordPress数据库添加管理员关键词优化举例
  • 河南国基建设集团--官方网站wordpress qode
  • 做农村电子商务的网站有哪些内容静态网站模板古典
  • 导航网站设计方案个人网站推广方法
  • 网站排名易下拉教程防wordpress花园
  • 计算机网站建设 是什么意思现在网站建站的主流语言是什么
  • php网站跟随导航西安百姓网免费发布信息网
  • 濮阳做公司网站html5 特效网站
  • ppt设计器怎么打开深圳seo网络推广营销
  • 建设银行网站用360浏览器建设信用卡中心网站
  • 创建公司网站 教程广州建设局
  • 详述网站建设的过程简答题ui培训设计怎么样
  • 动易网站官网ppt主题大全素材
  • 怎样用eclipse做网站可以做宣传图的网站