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数据,下一篇我将介绍网络爬虫经常要处理的数据的类型和处理方法.

  • 相关阅读:
    C++-POJ1020-Anniversary Cake[搜索][dfs]
    C++-POJ1988-Cube Stacking[数据结构][并查集]
    大佬的代码
    C++-POJ3349-Snowflake Snow Snowflakes[STL][set][hash未写]
    C++-POJ3274-Gold Balanced Lineup[hash]
    ListView 在设备切换横竖屏时保存状态
    Android Studio 常见命令
    android textView 总是有paddingtop怎么解决
    ionic build Android错误记录 error in opening zip file
    git grep 或者 ag 进行快速代码搜索
  • 原文地址:https://www.cnblogs.com/feiqiangs/p/5720566.html
Copyright © 2011-2022 走看看