zoukankan
html css js c++ java
爬虫基础总结1
html
爬虫基础
概念
模拟浏览器发送网络请求,获取响应
分类
通用爬虫
搜索引擎的爬虫,面对整个互联网上所有的网站
聚焦爬虫
针对特定网站的爬虫
分类标准:爬虫爬取的范围
流程
1.url
2.发送请求,获取响应 (提取url地址,发送下一次请求)
3.提取数据
保存
rebots协议
道德层面的约束
数据应用
展示数据
进行数据分析等后续工作
HTTPS和HTTP
概念
https: http+ssl
http: 超文本传输协议
https更安全,性能更低
浏览器发送请求的流程
1.url
2.dns服务器获取域名的ip地址
3.请求ip
url对应的响应+css+js+png
注意:浏览器渲染出来的内容(elements)和url地址对应的响应不一样
url
协议
瞄点加不加,返回的响应一样
http协议的内容
1.请求行
2.请求头
User-Agent
用户代理。告诉服务器当前发送请求的是什么样的程序
Cookies
1.获取登录后的页面
2.对方的服务器通过cookie判断程序是否为爬虫
3.请求体
Post请求才有请求体
请求方法
get
post
表单
发送的数据量比较大的时候 (参数较多)
状态码
200:成功
302,307:重定向
404:资源不存在
500:服务器内部错误
字符串处理
str bytes.decode()
bytes str.encode()
Ascii,gbk,unicode字符集
Ascii使用一个字节表示一个字符,unicode使用2个字节表示一个字符
utf-8是unicode的一种实现方式,可变长的编码方式
requests
发送请求
requests.get(url)
获取响应的html字符串
response.content
bytes
response.content.decode()
response.text
str
response.encoding来指定编码格式
解决requests中编码的问题
response.content.decode()
resopnse.content.decode('gbk')
response.text
gbk<gb2312<gb18030
查看全文
相关阅读:
力扣(LeetCode)验证回文串 个人题解(C++)
力扣(LeetCode)平方数之和 个人题解
Exclusive Access 2 UVA
C语言中指针*p[N], (*P)[N]的区别
2018年蓝桥杯国赛比赛心得
2018acm/icpc西安邀请赛比赛心得
[最小割]Cable TV Network UVA
Tree Reconstruction UVA
Twenty Questions UVA
python中的enumerate 函数(编号的实现方式)
原文地址:https://www.cnblogs.com/wsilj/p/12735281.html
最新文章
Java笔记(16):集合框架(02)
Java笔记(15):集合框架(01)
Java笔记(14):常用对象--正则表达式、GC
Java笔记(13):常见对象--StringBuffer、二分查找及排序算法
web图片识别
返回日历数据
jade模板引擎
客户端JavaScript-如何执行
基于jquery上的轻量级《数据模板解析》插件
下拉刷新
热门文章
Web 前端开发精华文章推荐(jQuery、HTML5、CSS3)【系列十二】
javascript 减少回流
【SSM】自定义属性配置的使用
【SSM Spring 线程池 OJ】 经验分享:如何使用Spring线程池ThreadPoolTaskExecutor执行异步业务
【前端VUE】【后端SSM】 记录一次多条件查询状态下加载极慢的解决思路和解决方案
前端 vue单页面应用刷新网页后vuex的state数据丢失的解决方案(转载)
力扣(LeetCode)整数形式的整数加法 个人题解
力扣(LeetCode)翻转字符串里的单词 个人题解
力扣(LeetCode)查找常用字符 个人题解
力扣(LeetCode)键盘行 个人题解
Copyright © 2011-2022 走看看