zoukankan      html  css  js  c++  java
  • 爬虫的基本流程

                                                           爬虫的基本流程

    1:发起请求

         通过HTTP库向目标站点发起请求,即发送一个request,请求可以包含额外的headers等信息等待服务器的响应

     2: 获取响应的内容 

         如果服务器能响应,会得到一个response,Response的内容便是所要获得的野,页面的内容,类型有

         可能有HTML,Json字符串,二进制数据(如图片视频)等类型

    3:解析内容

         得到的内容可能是HTML,可以是正则表达式,网页解析库进行解析。可能是二进制数据,可以做保存或进一步的处理

    4:保存数据

        保存形式多样,可以存为文本,也可以保存至数据库,或者保存特定的格式的文件。

                           Request

        请求方式

        主要有GET,POST两种类型,另外还有HEAD,PUT,DELETE,OPTIONS等。

                        请求URL

         URL全称统一定位符,如一个网页文档,一张图片,一个视频都可以用URL 唯一莱确定。

                      请求头

         包含请求时头部信息,如User-Agent,Host,Cookies等信息。

                     请求体

       请求时额外携带的数据如表单交时的表单数据

                            Response

       1:  响应状态  (status code)

             有多种响应状态,如200代表成功,301跳转,404找不到页面,502服务器错误

       2: 响应头(reponse headers)

             如内容类型,内容长度,服务信息,设置Cookie等等

      3: 响应体

           主要的部分,包含了请求资源的内容,如网页HTML,图片二进制数据等。

    >>>import requests

    >>>response = requests.get('http://www.baidu.com')

    >>>print(response.text)  #打印出响应头

    >>>print(response.status_code) #打印出状态码

    >>>response = requests.get('http://www.baidu.com/img/baidu_jgylogo3.gif')   #吧百度的图片抓取

    >>>print(response.content) #输出图片的二进制格式

    >>>with open('/var/tem/1.gif ','wb') as f:

    ...f.write(response.content)

    ...f.close()

    705

    >>>

                              总结

    爬虫能抓怎么样的信息 : 

      1)网页文本,如HTML,Json格式文本

      2)图片,获取到的是二进制文件,保存为图片格式

      3)视频,同为二进制文件,保存微视频格式即可

      4)其他,只要能请求到的,都能获取。

                          解析的方式

    1)直接处理

    2)Json解析

    3)正则表达式

    4)BeautifulSoup的解析库莱解析

    5)pyQuery

    6) XPath

    >>>from selenium import webdriver

    >>>driver = webdriver.Chrome()

    >>>driver.get('http://m.weibo.com')

    >>>driver.get('http://www.zhihu.com')

    >>>print(driver.page_source)

    >>>driver.get('www.taobao.com')

    (请尊重知识,转摘需经本人许可,并请注明出处)

  • 相关阅读:
    postgresql 排序索引
    postgresql 外键约束是否自动索引,unique约束是否自动建索引,主键是否自动建索引
    nginx缓存失效--vim选择后u将所有大小转换为了小写
    linux内核参数调优
    如何让自己的网站在搜索引擎中出现
    linux 查看系统版本
    nginx 模板
    深浅拷贝2
    字典 综合逻辑
    字典 dict
  • 原文地址:https://www.cnblogs.com/hunkhand/p/9461397.html
Copyright © 2011-2022 走看看