'''
爬虫的构成
下载器: 抓取页面
  urllib
  equests
  selenium + webdriver
解析器: 解释并提取页面元素
  BeautifulSoup4
  PyQuery
  Xpath
  Regular Expression
调度器:协调完成全部抓取任务
  进程
  线程
  协程
  分布式抓取
处理器:
  数据清洗
  数据入库
  图片上传

'''
# 开始一个爬虫
'''
1、确定一个抓取目标
2、页面分析
  ① pyquery
  ② xpath
  ③ json
  ④ regexp
3、流程规则
4、存储规则
'''
'''
超文本传输协议 HTTP
统一资源定位符 URL
  http://example.com:80/123/456/789?x=0&y=abc#part1
  组成:
  scheme: http、https
  hostname: example.com
  port: 80
  path:/123/456/789
  query: ?x=0&y=abc
  fragment: #part1
'''
'''
Request
Method(方法)    作用
GET       请求一个指定资源的表示形式,使用GET请求应该只被用于获取数据
HEAD      请求一个月GET请求响应相同的响应,但没有响应体
POST      用于将实体提交到指定的资源,通常导致状态或服务器上的副作用更改
PUT        用于请求有效载荷替换目标资源的左右当前表示
DELETE      删除指定的资源
OPTIONS    用于描述目标资源的通信选型
CONNNET       建立目标资源标识的服务器隧道,主要用于做代理服务器
TRACE       执行一个消息回环测试,主要用于诊断
PATCH        用于对资源应用部分修改
'''
'''
Header
Header Names                 描述
Accept text/plain        告诉服务器接受什么介质类型,/ 表示任何类型,type/* 表示该类型下的所有子类
Accept-Charset utf-8       浏览器申明自己接收的字符集
Accept-Encoding gzip     浏览器申明自己接收的编码方法,通常指定压缩方法
Accept-language zh-CN en-US 浏览器申明自己接收的语言
Cache-Control true,max-age  设置是否允许被缓存,缓存有效时间,也可以通过 no-cache 指令来禁止缓存
connection keep-alive     又称持久连接、连接重用
content-length        当内容将要被传输到浏览器时,服务器可以通过该头部告知浏览器将要传送文件的大小(bytes)
content-Type        指定响应的内容类型,浏览器将会依据该参数决定如何对文档进行解析,默认 text/html
User-Agent          浏览器标识
Cookie            cookie信息
Referer            当前页面是通过此来源页面里的链接进入的
'''

爬虫-day01-基础知识的更多相关文章

  1. c++学习day01基础知识学习

    一.代码示例解析: #include <iostream> int main() { using namespace std; cout << "come up an ...

  2. 网络爬虫: 从allitebooks.com抓取书籍信息并从amazon.com抓取价格(1): 基础知识Beautiful Soup

    开始学习网络数据挖掘方面的知识,首先从Beautiful Soup入手(Beautiful Soup是一个Python库,功能是从HTML和XML中解析数据),打算以三篇博文纪录学习Beautiful ...

  3. python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

    本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...

  4. Python爬虫(1):基础知识

    爬虫基础知识 一.什么是爬虫? 向网站发起请求,获取资源后分析并提取有用数据的程序. 二.爬虫的基本流程 1.发起请求 2.获取内容 3.解析内容 4.保存数据 三.Request和Response ...

  5. python 爬虫与数据可视化--python基础知识

    摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...

  6. python 爬虫基础知识一

    网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本. 网络爬虫必备知识点 1. Python基础知识2. P ...

  7. 爬虫基础---HTTP协议理解、网页的基础知识、爬虫的基本原理

    一.HTTP协议的理解 URL和URI 在学习HTTP之前我们需要了解一下URL.URI(精确的说明某资源的位置以及如果去访问它) URL:Universal Resource Locator 统一资 ...

  8. 0.Python 爬虫之Scrapy入门实践指南(Scrapy基础知识)

    目录 0.0.Scrapy基础 0.1.Scrapy 框架图 0.2.Scrapy主要包括了以下组件: 0.3.Scrapy简单示例如下: 0.4.Scrapy运行流程如下: 0.5.还有什么? 0. ...

  9. 学 Java 网络爬虫,需要哪些基础知识?

    说起网络爬虫,大家想起的估计都是 Python ,诚然爬虫已经是 Python 的代名词之一,相比 Java 来说就要逊色不少.有不少人都不知道 Java 可以做网络爬虫,其实 Java 也能做网络爬 ...

  10. 从0开始学爬虫4之requests基础知识

    从0开始学爬虫4之requests基础知识 安装requestspip install requests get请求:可以用浏览器直接访问请求可以携带参数,但是又长度限制请求参数直接放在URL后面 P ...

随机推荐

  1. gii的使用

    假设有表link 在backend中生成子模块content 生成子模块模型common/models/Link 生成模块content中的crud 配置别名 在backend/config/main ...

  2. MySQL三层循环

    begindeclare i int;  #定义i变量declare j int;  #定义j变量declare k int;  #定义k变量set i=1;set j=1;set k=1;while ...

  3. mongoose中connect()、createConnection()和connection的区别和作用

    转文:原文 1 mongoose简介 在使用mongodb数据库开发项目中,nodejs环境下可能会使用到mongoose模块连接并操作mongodb数据库.mongoose模块相当于Java中的数据 ...

  4. QComboBox样式

    https://blog.csdn.net/lys211/article/details/43956979https://blog.csdn.net/x_nazgul/article/details/ ...

  5. redis基础学习总结

    学习目标: 1.redis特点及安装     2.redis键值操作     3.redis数据类型[string, link,set,orderset,hash]     4.事务     5.消息 ...

  6. 自己写的保证js顺序加载的方法

    var arr =["test1.js","test2.js","test3.js"] loadScripts:function(arr){ ...

  7. Android 音视频深入 十三 OpenSL ES 制作音乐播放器,能暂停和调整音量(附源码下载)

    项目地址https://github.com/979451341/OpenSLAudio OpenSL ES 是基于NDK也就是c语言的底层开发音频的公开API,通过使用它能够做到标准化, 高性能,低 ...

  8. 【阅读笔记】《C程序员 从校园到职场》第七章 指针和结构体

    原文地址:让你提前认识软件开发(13):指针及结构体的使用 CSDN博客 https://blog.csdn.net/zhouzhaoxiong1227/article/details/2387299 ...

  9. vuex-Mutation(同步)

    更改 Vuex 的 store 中的状态的唯一方法是提交 mutation.Vuex 中的 mutation 非常类似于事件: 每个 mutation 都有一个字符串的 事件类型 (type) 和 一 ...

  10. [Go back to REDIS]

    Overview 内存中的数据结构存储系统,可以用作数据库.缓存和消息中间件. redis底层数据结构:跳跃表 [为什么选skiplist而不是red-black tree] 支持多种数据结构:Str ...