码迷,mamicode.com
首页 > 其他好文 > 详细

每天一点爬虫(一)

时间:2017-12-22 19:51:09      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:代码   打开   gpo   表达式   不同   存储   提交   pid   根据   

  开始爬虫之旅。

认识爬虫

  网络爬虫(又被称为网页蜘蛛,网络机器人,spider),是一种按照一定的规则,自动地抓取互联网信息的程序或者脚本。通俗的讲就是通过程序自动去获取web页面上自己想要的数据。

  主要就是模拟浏览器打开网页,获取网页中我们想要的那部分数据。

  简单的说一下浏览器打开网页的过程:在浏览器中输入地址后,经过DNS服务器找到服务器主机,向服务器发送一个请求,服务器经过解析后发送给用户浏览器结果,包括html,js,css等文件内容,浏览器解析出来最后呈现给用户,最后就是用户看到的浏览器显示部分了。用户看到的浏览器的结果就是由HTML代码构成的,我们爬虫就是为了获取这些内容,通过分析和过滤html代码,从中获取我们想要资源。

  爬虫的基本流程主要分为4步:

  第一步、发起请求:通过HTTP库向目标站点发起请求,也就是发送一个Request,请求可以包含额外的header等信息,等待服务器响应。

  第二步、获取响应内容:如果服务器能正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型可能是HTML,Json字符串,二进制数据(图片或者视频)等类型。

  第三步、解析内容:得到的内容可能是HTML,可以用正则表达式,页面解析库进行解析,可能是Json,可以直接转换为Json对象解析,可能是二进制数据,可以做保存或者进一步的处理。

  第四步、保存数据:保存形式多样,可以存为文本,也可以保存到数据库,或者保存特定格式的文件。

  在发送请求阶段,请求方式主要有GET/POST两种类型,还有一些其他方式但是不常用。

  请求头包含User-Agent,Host,Cookies等信息,请求体是携带的数据,如提交表单数据时候的表单数据。

  服务器端会根据请求信息给出相应的响应,包括状态码,响应头和响应体,响应体里面就是我们请求的资源内容。

  从理论上来说,我们请求到什么资源就等于爬取什么样的资源,但是由于很多网站中的数据都是通过js,ajax动态加载的,所以直接通过get请求获取的页面和浏览器显示的不同。后面的随着学习的深入我们会有方法解决js渲染等问题。

  解析爬下来的数据的方式:

  1. 直接处理;
  2. Json解析;
  3. 正则表达式处理;
  4. BeautifulSoup解析处理;
  5. PyQuery解析处理;
  6. XPath解析处理。

  存储数据的方式:

  1. 文本:纯文本,Json,Xml等;
  2. 关系型数据库:如mysql,oracle,sql server等结构化数据库;
  3. 非关系型数据库:MongoDB,Redis等key-value形式存储。

  了解了爬虫是什么,接下来我们就开始爬虫之旅了。

每天一点爬虫(一)

标签:代码   打开   gpo   表达式   不同   存储   提交   pid   根据   

原文地址:http://www.cnblogs.com/Jeffding/p/8087161.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!