python学习第一章
2021-03-02 01:25
标签:一个 解析 入门 let referer ble 方式 传参 发送 ? get请求 ? 比较便捷 ? 缺点:不安全:明文 ? 参数的长度有限度 ? post请求 ? 比较安全 ? 数据整体没有限制 ? 上传文件 ? put(不完全的) ? delete(删除一些信息) 发送网络请求(需要带一定的数据给服务器不带数据也可以) 请求头里面requestheader 返回数据: response ? head(请求头) (1)Accept:文本的格式 (2)Accept-Encoding:编码格式 (3)Accept-Language:返回语言 (4)Connection:长链接 短链接 (5)Cookie:缓存 验证用的 (6)Host:域名 (7)Referer:标志从哪个页面跳转过来的 (8)User-Agent:浏览器和用户的信息 Cache-Control:数据缓存大小 Date:发送网络请求的时间 Expires:发送请求结束时间 Server:服务器信息 Set-Cookie:设置cookie的要求 ? 1.买卖数据(高端的领域价格特别贵) ? 2.数据分析:出分析报告 ? 3.流量 ? 4.指数 阿里指数,百度指数 ? 政府没有法律规定爬虫是违法的,也没有法律规定爬虫是合法的 ? 公司概念:公司让你爬取数据库(窃取商业机密)责任在公司 ? (不是)爬虫只能爬取用户能访问到的数据 ? 例如:爱奇艺的视频(vip非vip) ? 1.普通用户 只能看非vip 爬取非vip视频 ? 2.vip 爬取vip的视频 ? 3.普通用户想要爬取vip视频(黑客) ? (1) 使用搜索引擎:百度 谷歌 360 雅虎 搜狗 ? 优势:开放性 速度快 ? 劣势:目标不明确,返回内容基本上使用户不需要的(不清楚用户的需求是什么) ? (1) 目标明确 ? (2) 对用户的需求非常精准 ? (3) 返回的内容很固定 ? 增量式:翻页:从第一页请求到最后一页 ? Deep 深度爬虫: ? 静态数据:http,css ? 动态数据:js代码,加密js ? robots:是否允许其他爬虫(通用爬虫)爬取某些东西 ? 聚焦爬虫不遵从robots ? 爬虫和反爬作斗争:资源对等 胜利的永远是爬虫 ? 1.取人你抓取目标的url是哪一个 ? 2.使用python代码发送请求获取数据(java Go) ? 3.解析获取到的数据(精确数据) ? (1) 找到新的目标(url)回到第一步(自动化) ? 4.数据持久化 ? urlopen:response对象 ? 1.返回response对象 ? 2.response.read() ? 3.bytes.decode("utf-8") ? get:传参 ? 1.汉字报错:解释器ascii没有汉字,url汉字转码 ? urllib.parse.quote safe = "string.printtable" ? 2.字典传参 ? urllib.parse.urlencode() ? post: ? urlib.request.openurl(url,data="服务器接收的数据") ? handler处理器的自定义: ? User-Agent: ? 1.模拟真实的浏览器发送请求:(1)百度批量搜索(2)检查元素(百度搜索useragent大全) ? 2.request.add_header(动态添加head数据) ? 3.相应头 response.header 获取请求头信息request.get_header("请求头名称") ? 4.创建request:urllib.request.Request(url) ? urlError ? python(原生提供的):urlib2 ? request(第三方) ? 如果爬取回来的是bytes类型:但是你写入的时候需要字符串 decode("utf-8") ? 如果爬取过来的数据是str类型:但要写入的是bytes类型 encode("utf-8") python学习第一章 标签:一个 解析 入门 let referer ble 方式 传参 发送 原文地址:https://www.cnblogs.com/yxh-zixishi/p/14425450.html1.http:
(1)当前用户在地址输入了网址 发送网络请求的过程是什么
(2)http的请求方式
Request Headers
Response Headers
Query String Parameters
2.爬虫入门:使用代码模拟用户 批量的发送网络请求 批量的获取数据
(1)爬虫的价值:
(2)合法性:灰色产业
(3)爬虫可以爬取所有东西?
(4)爬虫的分类:
1.通用爬虫
2.聚焦爬虫
(5)爬虫的工作原理:
(6)python3(原生提供的模块):urlib.request
(7)数据解析:xpath bs4
(8)python爬取的数据类型:str bytes