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
查看全文
相关阅读:
net.sf.ezmorph.bean.MorphDynaBean cannot be cast to java.util.Map
oracle 导入excel
【长文干货】浅析分布式系统
35 个 Java 代码性能优化总结
阿里巴巴Java开发手册-命名规约
阿里巴巴Java开发手册-集合处理
阿里巴巴Java开发手册-并发处理
[NOI2016]国王饮水记
python学习(二十一) Python 中的链式赋值
python学习(二十) Python 中的比较:is 与 ==
原文地址:https://www.cnblogs.com/wsilj/p/12735281.html
最新文章
nrm 使用
VUE watch
Xshell 公钥登入服务器
Tomcat 日志分割
Mysql 诡异的增加1秒
Bootstrap 移动设备优先
LInux Xshell配置ssh免密码登录-密钥公钥(Public key)与私钥(Private Key)登录
dedecms实现编辑文章时不自动修改发布时间
dedecms data文件夹外迁
checkbox/input文本框与文字对齐
热门文章
css实现隐藏多余溢出文字并显示省略号
php实现301跳转
apache服务器主域名跳转www域名
navcat无法远程连接mysql数据库解决办法
设为首页/加入收藏JS代码
网站QQ客服链接代码
windows下apache服务器开启压缩和网页缓存
理解REST和SOA
xml表头内容什么意思
dubbo实战
Copyright © 2011-2022 走看看