网络爬虫基础知识(Python实现)
浏览器的请求
url=请求协议(http/https)+网站域名+资源路径+参数
http:超文本传输协议(以明文的形式进行传输),传输效率高,但不安全。
https:由http+ssl(安全套接子层)组成;传输之前数据先加密,之后解密获取内容,传输效率低但安全。
HTTP协议之请求
1请求行
2.请求头(user-Agent:用户代理【对方服务器通过user-Agent知道当前请求资源的是神么网站】)
3.请求体(get 请求没有请求体,post有;get 请求把数据放在url地址中)
post请求常用于登入,注册以及传输大文本时
HTTP协议之响应
1.响应头(set cookie:对方服务通过该字段设置cookie的值到本地)
2.响应体(url地址对应的响应内容)
网络爬虫的逻辑
1.确定起始url
2.发送请求获取响应
3.提取数据
4.保存
5构造下一个url 地址,循环2-5步。(使用retrying,当请求不成功时,重复进行请求)
response.request.url:得到的是发送请求url地址
response.url是resonse响应的url地址
发送get post 请求获取响应;
url="https://i.cnblogs.com"
headers={
}
response=request.get(url,headers=headers)
response=request.post(url,headers=headers,data={请求体字典【键值对格式】})
获取网页源码内容 的方法;(依次使用三种方式一定可以获取网页的正确内容,当前面一种方式不能获取到时,改用下一种)
1)response.content.decode()//把响应的二进制字节流转化为str 类型.默认使用的是utf-8编码
2)response.content.decode("gbk")用指定的编码进行编码
3)response.text 浏览器会以自己猜测的编码形式进行编码
处理cookie相关请求的方法
1)直接放在headers中
2)把cookie放在字典中
3)先发送post请求,带上cookie请求登入
session=request.session()// 实例化session对象
session.post(url,data,headers)// 获取对方保存在本地的cookie内容
session.get(url) //session会自动带上cookie
数据提取的方法:
json.loads 作用:把json字符串转化为python类型
json.dumps 把python类型转化为json字符串
ensure_ascill 能让页面中的中文字符正确显示为中文
indent: 能够让下一行显示时在下一行的基础上显示空格
xpath:一门从html中提取数据的语言
xpath语法:
1.选择节点(标签)/html/head/meta 表示选中head下的 所有meta标签
2.//双斜线 能够从任一节点开始选择
./a 表示当前节点下的a 标签
3.@的用途
@的作用是取某个节点属性的值
例如://div[@class='box1']/
4.获取文本
/a/text() 表示获取a标签的文本
/a//text() 表示获取a标签下的所有文本(可能不是直接在a标签下)
网络爬虫基础知识(Python实现)的更多相关文章
- java网络爬虫基础学习(一)
刚开始接触java爬虫,在这里是搜索网上做一些理论知识的总结 主要参考文章:gitchat 的java 网络爬虫基础入门,好像要付费,也不贵,感觉内容对新手很友好. 一.爬虫介绍 网络爬虫是一个自动提 ...
- python爬虫-基础入门-python爬虫突破封锁
python爬虫-基础入门-python爬虫突破封锁 >> 相关概念 >> request概念:是从客户端向服务器发出请求,包括用户提交的信息及客户端的一些信息.客户端可通过H ...
- C#网络编程基础知识
C#网络编程基础知识一 1.IPAddress类 用于表示一个IP地址.IPAddress默认构造函数 public IPAddress(long address);一般不用 其中Parse()方法最 ...
- 【RL-TCPnet网络教程】第2章 嵌入式网络协议栈基础知识
第2章 嵌入式网络协议栈基础知识 本章教程为大家介绍嵌入式网络协议栈基础知识,本章先让大家有一个全面的认识,后面章节中会为大家逐一讲解用到的协议. 基础知识整理自百度百科,wiki百科等 ...
- java网络爬虫基础学习(三)
尝试直接请求URL获取资源 豆瓣电影 https://movie.douban.com/explore#!type=movie&tag=%E7%83%AD%E9%97%A8&sort= ...
- [转帖]IPC网络高清摄像机基础知识1(IPC芯片市场分析以及“搅局者”华为海思 “来自2013年”)
IPC网络高清摄像机基础知识1(IPC芯片市场分析以及“搅局者”华为海思 “来自2013年”) 2016-06-02 14:23:49 Times_poem 阅读数 9734更多 分类专栏: IPC网 ...
- python网络爬虫,知识储备,简单爬虫的必知必会,【核心】
知识储备,简单爬虫的必知必会,[核心] 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌 ...
- python 爬虫基础知识一
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本. 网络爬虫必备知识点 1. Python基础知识2. P ...
- Python爬虫基础知识入门一
一.什么是爬虫,爬虫能做什么 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来.比如它在抓取一个网 ...
随机推荐
- Android Studio3.0.1集成Git
1:前提 本机可以根据SSH的方式正常连接git服务器 2:开始配置 file-settings-Version Control 点击右边的+号天添加项目所在目录,VCS类型选择Git 点击 Conf ...
- DLLImport的用法C#
它来调用WIN32的API或者调用一下C或C++编写的DLL.使用实例:将编译好的C++ DLL拷贝到BIN目录(DLLImport会从程序启动目录BIN开始查找相应名称的DLL,未找到则转至syst ...
- gstreamer如何查看相关插件信息(src/sink)?
gstreamer及相关插件编译完成后,会输出gst-inspect可执行文件,相关信息如下: drwxrwxr-x yingc yingc 6月 : glib-/ drwxrwxr-x yingc ...
- 【PMP】事业环境因素和组织过程资产
事业环境因素(EEFs) 事业环境因素(EEFs):是指组织不能控制的,将对项目产生影响.限制或指令作用的各种条件. ①组织内部的事业环境因素: 组织文化.结构和治理 设施和资源的地理分布 基础设施 ...
- Eclipse和MyEclipse使用技巧--解决MyEclipse中的js报错的小方法
今天,下了个模版,但是导进去的时候发现js会报错.看了下其他都没有错误.而有一个js报错误,请原谅我有点红色强迫症,不能留一点红色 . 错误如下:Syntax error on token " ...
- 转载:MVC升级以后出现"当前上下文中不存在ViewBag"的问题解决
MVC升级以后出现"当前上下文中不存在ViewBag"的问题解决 把自己的项目从MVC4升级到了MVC5,结果问题一大堆,View的设计环境出现了"当前上下文中不存在Vi ...
- (原)faster rcnn的tensorflow代码的理解
转载请注明出处: https://www.cnblogs.com/darkknightzh/p/10043864.html 参考网址: 论文:https://arxiv.org/abs/1506.01 ...
- Linux下清理内存和Cache方法见下文:
暂时目前的环境处理方法比较简单: 在root用户下添加计划任务: */10 * * * * sync;echo 3 > /proc/sys/vm/drop_caches; 每十分钟执行一次,先将 ...
- RTP推流及验证
[时间:2018-07] [状态:Open] [关键词:rtp,rtcp, ffmpeg,ffplay,sdp,h264,mp2,ts,推流] 近期在学习有关RTP/RTCP的资料,发现看了很多资料, ...
- android9.0适配HTTPS:not permitted by network security policy'
app功能接口正常,其他手机运行OK,但是在Android9.0的手机上报错 CLEARTEXT communication to 192.168.1.xx not permitted by netw ...