一.爬虫简介

目录

  • 一.爬虫简介

    • 1.什么是爬虫
    • 2.http协议格式
    • 3.常见库
    • 4.常用解析语法
    • 5.常见的反爬手段

一.爬虫简介

1.什么是爬虫

一个模仿浏览器行为向服务器发送请求并且获得响应数据的应用程序.

流程:发起请求===>获取数据===>解析数据===>存储数据

    常见请求库:requests
    常见解析库:
    常见存储库:mongodb

常见的抓包工具:网页的network,Fiddler,mitmproxy  

console控制台:
    document.charset(查看js的解码方式)

2.http协议格式

'''
请求:Request URL:
    REquest Method:
        "GET":
            ?拼接参数
        "POST":
            请求体:
                1.formdata
                2.json
                3.files
    请求头:
        cookies:(保存信息,主要用于记录用户登录状态)
        user-agent:用户身份
        referer:告知服务器,请求从何来(防盗链)
        服务器特有字段
''' 

'''
响应:
    status code:状态码
    响应头:
        location:重定向的url
        set-cookie:设置cookie
        服务器特定字段
    响应体:
        1.html
        2.二进制:图片,视频,音频
        3.json
        4.jsonp:允许跨域

3.常见库

请求库:requests
    安装:pip install requests

#get请求
requests.get()
    参数:'''
        url:
        headers={
        "user-agent":"xxx",
        ...
        }
        params={}:url参数
        cookies={}(优先使用headers中的cookies参数)
        proxies = {"http":"http://..."} :代理ip
        timeout = 0.5 超时时间
        allow_redirects = True 允许重定向
        '''

#post请求
requests.post()
    参数:'''
        前面6个与get请求一样
        data = {}
        json = {}/'123' 注:json与data只能存在一种
        files = {"files":open("文件地址","rt",encoding=utf-8)}
        '''

响应:
    response = requests.get()
    response.url                :请求地址
    response.text               :响应文本信息
    response.encoding='gbk'      :文本编码方式
    response.content            :二进制
    response.json               :转json格式,相当于json.loads(response.text)
    response.status_code        :状态码
    response.headers            :响应头
    response.history            :[响应对象1,...],重定向才有

自动保存cookie的请求:

    session = requests.session()
            r = session.get(......)或
            r = session.post(......)
      补充:(保存cookie到本地)
        import http.cookiejar as cookielib
        session.cookie = cookielib.LWPCookieJar()
        session.cookie.save(filename='1.txt')   保存cookie至本地文件
        session.cookies.load(filename='1.txt')   本地文件取出cookie 

4.常用解析语法

CSS选择器:
    类选择器(.类名)
    id选择器(#id值)
    标签选择器(标签)
    后代选择器(祖先 后代):表示祖先下面的所有后代都会被选择
    子选择器(父>子):表示父标签下的所有子代标签会被选择
    兄弟选择器(兄~弟):表示兄标签相邻的弟弟标签会被选择,且必须是同级
    属性选择器([属性名]、[属性名=属性值]:精确选择,有空格都不行、[属性名^=属性值]、[属性名$=属性值]、[属性名*=属性值]):正则匹配
    群组选择器(选择器1,选择器2):代表or
    多条件选择器(选择器1选择器2):代表and
    伪类选择器(选择器:active/hover/first-child/visited):含有指定的属性才会被选择

XPATH选择器:略    

5.常见的反爬手段

检测浏览器headers
ip封禁
图片验证码
滑动模块
js轨迹
前端反调试

原文地址:https://www.cnblogs.com/bruce123/p/11695135.html

时间: 2024-11-09 19:16:40

一.爬虫简介的相关文章

1、爬虫简介与request模块

一 爬虫简介 概述 近年来,随着网络应用的逐渐扩展和深入,如何高效的获取网上数据成为了无数公司和个人的追求,在大数据时代,谁掌握了更多的数据,谁就可以获得更高的利益,而网络爬虫是其中最为常用的一种从网上爬取数据的手段. 网络爬虫,即Web Spider,是一个很形象的名字.如果把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛.网络蜘蛛是通过网页的链接地址来寻找网页的.从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网

爬虫简介与request模块

一 爬虫简介 概述 近年来,随着网络应用的逐渐扩展和深入,如何高效的获取网上数据成为了无数公司和个人的追求,在大数据时代,谁掌握了更多的数据,谁就可以获得更高的利益,而网络爬虫是其中最为常用的一种从网上爬取数据的手段. 网络爬虫,即Web Spider,是一个很形象的名字.如果把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛.网络蜘蛛是通过网页的链接地址来寻找网页的.从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网

爬虫简介以及request模块

一 爬虫简介 概述 近年来,随着网络应用的逐渐扩展和深入,如何高效的获取网上数据成为了无数公司和个人的追求,在大数据时代,谁掌握了更多的数据,谁就可以获得更高的利益,而网络爬虫是其中最为常用的一种从网上爬取数据的手段.网络爬虫,即Web Spider,是一个很形象的名字.如果把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛.网络蜘蛛是通过网页的链接地址来寻找网页的.从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页

爬虫(一):爬虫简介

1. 爬虫简介 1.1 爬虫是什么? 什么是爬虫,以下是百度百科上的解析: 很多人都将互联网比喻成一张非常大的网,将世界连接起来.如果说互联网是一张网,那么爬虫就像在网上爬的小虫子,通过网页的链接地址来寻找网页,通过特定的搜索算法来确定路线,通常从网站的某一个页面开始,读取该网页的内容,找到该网页中的其他链接地址,然后通过这些链接地址寻找下一个网页,就这样一直循环下去,直到将该网站的所有网页全部抓取为止. 1.2 爬虫原理 发起请求:使用http库向目标站点发起请求,即发送一个RequestRe

爬虫简介

什么是爬虫 ? 爬虫是一种应用程序,用于从互联网中获取有价值的数据,从本质上来看,属于client客户端程序. 互联网简介 ? 互联网是由各种计算机设备,通过连接介质相互连接而组成的,其目的就是为了能在不同计算机之间传输数据,并且在互联网上有大量的数据是免费的.如果没有互联网,你只能拿着u盘过去拷贝.. 爬虫的原理 ? 通常我们所谓的上网,其实本质就是用计算机通过网络去访问另一台计算机上的数据,而这些数据通常以网页的形式存在于服务器上,网页本质上就是一个文本文件,要想得到有价值的数据,第一步就是

爬虫-简介

爬虫的定义 为什么要做爬虫 首先请问:都说现在是"大数据时代",那数据从何而来? 企业产生的用户数据:百度指数.阿里指数.TBI腾讯浏览指数.新浪微博指数 数据平台购买数据:数据堂.国云数据市场.贵阳大数据交易所 政府/机构公开的数据:中华人民共和国国家统计局数据.世界银行公开数据.联合国数据.纳斯达克. 数据管理咨询公司:麦肯锡.埃森哲.艾瑞咨询 爬取网络数据:如果需要的数据市场上没有,或者不愿意购买,那么可以选择招/做一名爬虫工程师,自己动手丰衣足食.拉勾网Python爬虫职位.

Python爬虫从入门到进阶(2)之爬虫简介

1.爬虫入门:使用代码模拟真实用户发送网络请求批量获取数据1).爬虫价值: 1.买卖数据(高端领域特别贵) 2.数据分析(出分析报告) 3.流量 4.阿里指数,百度指数2).合法性:灰色产业政府没有法律规定爬虫是否违法 公司概念:公司让你爬取数据 爬虫是否可以爬所有的东西?不可以,爬虫只能爬取到用户可以访问的数据 爱奇艺视频(vip 用户,非 vip 用户) 付费小说(付费才能爬取) 2.爬虫分类: 1.通用爬虫:使用搜索引擎:百度,360,谷歌... 劣势:目标不明确,返回的内容90%是用户不

第一章 网络爬虫简介

本章将介绍如下主题: 网络爬虫领域介绍 爬虫的合法与非法性 对目标网站进行背景调研 逐步完善一个高级网络爬虫 1.1 网络爬虫的使用场景 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟程序或者蠕虫. 爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件.  

网络爬虫简介

什么是网络爬虫 为什么要学网络爬虫 网络爬虫的组成 网络爬虫的类型 网络爬虫的工作流程 网络爬虫的爬行策略 网络爬虫的更新策略 扩展:网页分析算法 扩展:GooSeeker 工具 1. 什么是网络爬虫 (1) 网络爬虫又称网络蜘蛛,可以自动化浏览网络中的信息,进行互联网信息的自动检索(2) 搜索引擎会在海量的互联网信息中爬取优质信息并收录,当用户在搜索引擎上检索对应关键词时,会从收录的网页中按照一定的算法或排名规则呈现给用户(3) 大数据也离不开网络爬虫,需要使用网络爬虫去一些比较大型的站点爬取