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()
零基础入门python爬虫(一)
05-25
python MySQLdb模块介绍
03-24
python flask-sqlalchemy如何设置使自动建的mysql表字符集charset为utf8
06-04
python字符串连接示例
06-26
python笔记24(回顾、复习)
05-24
安装并使用python requests发送http请求
07-05
通过python和websocket构建实时通信系统[扩展saltstack监控]
06-27
python3对比合并Excel表格
03-17
python_网络编程
05-11
python—初识面向对象
03-23
python—包
05-05
python—网络通信编程之tcp非阻塞通信(socketserver)
07-05
CentOS 7编译安装及yum安装python 3
06-15
GitLab python 依赖扫描镜像将切换到 Debian
07-16
给 python 初学者:从零入门 Django 开发网站教程
04-01