爬虫

作者: Ji_uu | 来源:发表于2017-09-18 18:54 被阅读0次

复习

  1. 什么是爬虫?爬虫是用来做什么的?怎么使用爬虫爬取数据?
  • 数据的重要性

  • 数据的来源

  • 爬取数据的规则【通用爬虫 | 聚焦爬虫】

  • 爬虫:爬取网页数据的程序~

  • 爬虫爬取数据的步骤

    • 分析目标网页的请求方式【url地址、请求头,返回的数据】
    • 开始进行数据的爬取【准备数据、编码进行数据获取、数据分析和使用】
  • 爬虫中最难处理的部分

    • 目标地址-> 【抓包、获取请求地址之后的操作~分析请求[需要登录 | 反爬虫机制]】
      • 反爬虫分析——反爬虫规则
    • 程序开发【最简单的】
    • 数据分析【查询匹配】
  • 数据的爬取操作
    urllib2 创建请求对象,打开目标网址获取响应对象-> 读取响应数据
    urllib 用于进行编码转换

  • 爬取方式分类
    GET/POST
    get:url地址和参数进行拼接访问
    post: url地址和参数分别定义,参数被包装在了一个对象中。

    GET方式获取数据
    GET方式获取Ajax数据
    POST方式获取数据/Ajax数据
    Cookie模拟登陆获取受限数据

  • 原始的方式:默认的方式
    urllib2.urlopen(url, data, headers)

  • 自定义打开方式——参考源代码

自定义

# -*- coding:utf-8 -*-

import urllib2

request = urllib2.Request("http://www.baidu.com")

response = urllib2.urlopen(request)

print response.read()

# 创建一个HTTP处理器对象
http_handler = urllib2.HTTPHandler()

# 创建一个打开方式对象
opener = urllib2.build_opener(http_handler)

# 通过自定义的打开方式,打开目标网址,获取目标网址服务器返回的响应对象
response = opener.open("http://www.baidu.com")

# 读取响应对象中的数据
print response.read()

自定义代理处理器

# -*- coding:utf-8 -*-

import urllib
import urllib2

# 创建一个代理对象处理器
# 使用免费的代理进行处理器的创建
# proxy_handler = urllib2.ProxyHandler({"http":"67.205.159.165:3128"})
# 使用私密代理进行处理器的创建【账号 + 密码】
proxy_handler = urllib2.ProxyHandler({"http" : "username:password@67.205.159.165:3128"})

# 创建一个请求发送对象
opener = urllib2.build_opener(proxy_handler)

# 创建请求对象
request = urllib2.Request("http://www.baidu.com")

# 发送请求,获取服务器返回的响应对象
response = opener.open(request)

# 获取数据
print response.read()

密码管理

# -*- coding:utf-8 -*-

import urllib
import urllib2

# 准备数据
ftp_server = "192.168.1.100"
username = "root"
password = "123456"

# 创建一个密码管理器对象
pass_mgr = urllib2.HttpPasswordMgrWithDefaultRealm()

# 增加要管理服务器
pass_mgr.add_password(None, ftp_server, username, password)

# 创建一个web验证处理器
http_auth_handler = urllib2.HTTPBasicAuthHandler(pass_mgr)

# 构建一个请求对象
request = urllib2.Request("http://image.baidu.com")

# 创建自定义打开方式对象【开锁人】
opener = urllib2.build_opener(http_auth_handler)

# 发送请求,获取服务器的响应对象
response = opener.open(request)

# 获取响应中的数据
content = response.read()

# 处理数据
print content

cookie 操作

# -*- coding:utf-8 -*-

import urllib
import urllib2
import cookielib

# 创建一个Cookie对象
cookie = cookielib.CookieJar()

# 创建一个处理器对象
cookie_handler = urllib2.HTTPCookieProcessor(cookie)

# 创建一个请求打开方式
opener = urllib2.build_opener(cookie_handler)

# 构建请求对象
url = "http://www.renren.com/PLogin.do" # http://www.renren.com/SysHome.do
data = urllib.urlencode({"email":"test", "password":"123"})

request = urllib2.Request(url, data)

# 发送请求,访问数据,得到响应对象
response = opener.open(request)

# 获取数据
content = response.read()

print content

老牟第三天的复习

相关文章

  • 11.20-11.26

    本周目标 爬虫 爬虫 爬虫 爬虫

  • 爬虫入门基础

    Day01 一、爬虫介绍 什么是爬虫 Python爬虫的优势 Python爬虫需要掌握什么 爬虫与反爬虫与反反爬虫...

  • 01-认识爬虫

    一、爬虫介绍 什么是爬虫 Python爬虫的优势 Python爬虫需要掌握什么 爬虫与反爬虫与反反爬虫三角之争 网...

  • 爬虫原理与数据抓取之一: 通用爬虫和聚焦爬虫

    通用爬虫和聚焦爬虫 根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种. 通用爬虫 通用网络爬虫 是 捜索...

  • (了解)通用爬虫和聚焦爬虫--爬虫基础教程(python)(二)

    通用爬虫和聚焦爬虫 根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种.我们主要写通用爬虫。 通用爬虫 通...

  • Python 网络爬虫(一)

    网络爬虫的基本介绍 学习爬虫,我想主要从以下几个方面来切入 -爬虫的原理? -爬虫的作用? -爬虫的实现? -爬虫...

  • 7.爬虫概述

    爬虫概述 知识点: 了解 爬虫的概念 了解 爬虫的作用 了解 爬虫的分类 掌握 爬虫的流程 1. 爬虫的概念 模拟...

  • 1-基本概念

    简介 为什么选择Python做爬虫 需要技能 爬虫与反爬虫 网络爬虫类型 通用网络爬虫 聚焦网络爬虫 增量式网络爬...

  • 认识爬虫

    前言 我的爬虫笔记 经常看别人通过爬虫分析数据,很有意思,来了兴趣,就开始了爬虫之路。 爬虫 爬虫,即网络爬虫,大...

  • 爬虫入门

    为什么要学习爬虫? Python做爬虫优势 关于Python网络爬虫,我们需要学习的有: 什么是爬虫? 网络爬虫(...

网友评论

      本文标题:爬虫

      本文链接:https://www.haomeiwen.com/subject/olwbsxtx.html