zoukankan      html  css  js  c++  java
  • 爬虫基础(暂缓更新)

    爬虫:请求网站并爬取数据的自动化程序。

    基本流程:

    1. 发起请求:通过 HTTP 库向目标站点发情请求,即发送一个 Request ,请求可包含而外的 headers 等信息,等待服务器的响应;
    2. 获取响应内容:如服务器能正常响应,会得到一个 Response ,Response 的内容便是想要获取的页面内容,类型可能有 HTML、JSON 字符串、二进制数据(如图片视频等类型);
    3. 解析内容:得到的内容是 HTML,可用正则表达式、网页解析库进行解析;得到 JSON 可直接我转为 JSON 对象解析;得到二进制可做保存或进一步处理;
    4. 保存数据:保存形式多样,可存为文本,保存至数据库,或存为特定格式的文件。

    Request:

    1. 请求方式:主要有 Get 、Post 两种类型,还有 HEAD、PUT、DELETE、OPTIONS 等;
    2. 请求 URL:全称 统一资源定位符,如一个网页文档,一张图片,一个视频等都可用 URL 唯一来确定;
    3. 请求头:包含请求时的头部信息,如 User-Agent、Host、Cookies 等;
    4. 请求体:请求时而外携带的数据,如表单提交的表单数据。

    Response:

    1. 响应状态:有多种响应状态,如200代表成功,301代表跳转,404找不到页面,502服务器错误;
    2. 响应头:如内容类型,内容长度服务器信息,设置Cookie 等;
    3. 响应体:最只要的部分,包含了请求资源的内容,如网页 HTML,图片二进制数据等。

    解析方式:

    1. 直接处理;
    2. json 解析;
    3. 正则表达式;
    4. BeautifulSoup;
    5. pyQuery;
    6. Xpath。

    Urllib:python 内置的 HTTP 请求库

    import request
    response = urllib.request.urlopen('http://www.baidu.com')
    • urllib.request:请求模块;
    • urllib.error:异常处理模块;
    • urllib.parse:url 解析模块;
    • urllib.robotparser:robots.txt 解析模块。
       1 import urllib.parse
       2 import urllib.request
       3 import urllib.error
       4 import socket
       5 
       6 data = bytes(urllib.parse.urlencode({'word':'hello'}),encoding='utf8')
       7 try:
       8     # response = urllib.request.urlopen('http://httpbin.org/get', timeout=0.1)
       9     response = urllib.request.urlopen('http://httpbin.org/post', data=data, timeout=1)
      10     print(response.read().decode('utf-8'))
      11 except urllib.error.URLError as e:
      12     if isinstance(e.reason, socket.timeout):
      13         print('TIME OUT')

    后期再整理......

  • 相关阅读:
    狼羊过河问题
    java实现透明窗体
    商人胡萝卜问题
    NXP迅为IMX8开发板Andaoid编译环境搭建
    迅为龙芯2K1000开发板Linux下gcc编译
    迅为恩智浦i.MX8MM开发平台虚拟机安装Ubuntu16.04系统
    恩智浦NXP迅为i.MX6Q开发板资料提升了
    迅为龙芯2K1000开发板Linux工具之make工具和Makefile文件
    迅为瑞芯微3399开发板minimalYocto文件系统的构建
    迅为恩智浦IMX6Q开发板Buildroot 文件系统 alsa 声卡工具测试
  • 原文地址:https://www.cnblogs.com/liqiongming/p/11588865.html
Copyright © 2011-2022 走看看