zoukankan      html  css  js  c++  java
  • Python爬虫总结(一)入门

    Python爬虫总结(一)入门

    很多做数据分析的同学会抱怨没有实际数据,感觉巧妇难为无米之炊,而火车头采集器一类的软件很难完成一些定制性很强的数据采集任务,这时候就需要自己编写爬虫来采集数据了。python是目前做爬虫比较流行的工具。

    爬虫的一般原理

    爬虫一般通过发送http/https请求,从服务器获取数据,进一步解析获取的数据,最后得到有用的信息。而爬虫发送的http/https请求主要是GET和POST两类请求数据。

    GET请求

    简单的GET请求:

    import urllib2
    
    url ="https://movie.douban.com/"
    result = urllib2.urlopen(url)
    print result.read()

    上述代码发送了一个的https请求给豆瓣movie的服务器,并将服务器返回的信息加载过来打印到屏幕上。

    也可以发送带参数的GET 请求:

    import urllib2
    
    params = {'n':'UestcNews.Front.Document.SpecialReportArticleDocument','Id':'55029'}
    url ="http://www.news.uestc.edu.cn/?%s"
    result = urllib2.urlopen(url%params)
    print result.read()

    上述代码发送了一个http的GET请求,并添加了参数n和id。

    POST请求

    import urllib2
    import urllib
    #定义要提交的数据
    postdata={
        'user_name':'abc'
        'passwd':'123'
    }
    #postdata编码
    postdata=urllib.urlencode(postdata)
    request = urllib2.Request('http://www.xxxx.com/login',postdata)
    response=urllib2.urlopen(request)
    print response

    上述代码发送了一个登陆的POST请求,模拟登陆是数据采集常用的一个功能,后面我会有更详细的介绍.

    其它包

    其实python发送http/https的包有很多,这里我只用了urllib2,除此之外还有urllib,更底层的httplib,还有一个第三方包requests.

    说到第三方包,用python做爬虫的一大优势就是它有很多很好用的爬虫相关的第三方包,后面我会一一介绍.

    总结

    今天我们学到了如何用python 发送http/https的GET POST请求,通过GET POST请求我们就可以获取到web数据,下一篇我将介绍网络爬虫经常要处理的数据的类型和处理方法.

  • 相关阅读:
    [codevs]线段树练习5
    【Java学习笔记之十六】浅谈Java中的继承与多态
    【Java学习笔记之十五】Java中的static关键字解析
    【Java学习笔记之十四】Java中this用法小节
    【Java学习笔记之十三】初探Java面向对象的过程及代码实现
    【Java学习笔记之十二】Java8增强的工具类:Arrays的用法整理总结
    hdu2896 AC自动机
    hdu2222 AC自动机
    字符串匹配--AC自动机模板
    字符串匹配--(K)MP模板
  • 原文地址:https://www.cnblogs.com/feiqiangs/p/5720566.html
Copyright © 2011-2022 走看看