发布时间:2020-07-07 18:31:41来源:阅读:
1.http
(1)当用户在地址输入了网址 发送网络请求的过程是什么
(2)http 的请求方式:
get 请求: 比较便捷 缺点:不安全;明文 参数的长度有限制
post请求:比较安全 数据整体没有限制 上传文件:put(不完全的);delete(删除一些信息) 发送网络请求 请求头里面 requesrtheader 返回数据:response
head(请求头):accept:文本的格式 accept-Encoding:编码格式 Connection:长链接 短连接 Cookie:验证用的 Host:域名 Referer:标志从哪个页面跳转过来的 User-Agent:浏览器和用户的信息
2.爬虫的价值
(1)数据的买卖:数据分析:出分析报告 流量
(2)阿里指数;百度指数
(3)合法性:灰色产业
政府没有法律规定爬虫是违法的,也没有法律规定爬虫是合法的
公司概念:公司让你怕数据库(窃取商业机密) 违法
(4)爬虫只可以爬取用户能访问到的数据
爱奇艺的视频(VIP 和 非VIP)
普通用户 只能看非VIP的 爬取非VIP的视频
VIP 爬取VIP的视频
普通用户想要爬取VIP的视频(黑客)
3.爬虫的分类
(1)通用爬虫
1.使用搜索引擎:百度;谷歌;360;雅虎;搜狗
优势:开放性拉速度快 劣势:目标不明确
(2)聚焦爬虫
1.目标明确
2.对用户的需求非常精准
3.返回的内容很固定
增量式:翻页:从第一页请求到最后一页
Deep:深度爬虫:静态数据:html css
动态数据:js代码;加密的js
robots:是否允许其他爬虫(通用爬虫)爬取某些内容 聚焦爬虫不遵守robots
爬虫和反爬虫作斗争:资源对等,胜利的永远是爬虫
3.爬虫的工作原理
确认你抓取目标的url是哪一个(url)
使用python代码发送请求获取数据(Java Go)
以下是今天练习的代码
import urllib.request def load_data(): url = "http://www.baidu.com/" # get请求 # http请求 # respinse:http响应文件 response = urllib.request.urlopen(url) print(response) # 读取内容bytes类型 data = response.read() print(data) # 将文件获取的内容转换成字符串 str_data = data.decode('utf-8') print(str_data) # 讲数据写入文件 with open('baidu.html','w',encoding='utf-8') as f: f.write(str_data ) # 讲字符串转化成 bytes 类型 str_name = 'baidu' bytes_name = str_name.encode('utf-8') print(bytes_name) # python爬取的类型:str bytes # 如果爬取回来的是 bytes 类型,但是写入需要输入 str :decode('utf-8') # 如果爬取回来的是 str 类型,但是写入需要输入 bytes :encode ('utf-8') load_data()
下一篇:驱动器盘符丢失
2020-07-24
如何使用指纹识别软件登记(记录)指纹
Win7系统下如何使用蓝牙耳机收听音乐
Windows 8下如何实现共享上网
如何在 Laravel 中使用 Slack 进行异常通知
Intel Q45主板集成显卡双屏输出设置方法(DisplayPort-VGA)
使用进程池规避Python的GIL限制
MCAFEE杀毒软件无法完全卸载的解决方案
Windows应用商店无法打开
SureFibre 640磁盘阵列快速安装指南V1.0