zoukankan      html  css  js  c++  java
  • Python爬虫入门

      还没有写完...待续...看不懂的可以等我视频出来~

       视频链接:http://www.bilibili.com/video/av11253964/

      参考大佬的博客:博客是Python社区的一位大佬写的,博客园死活不让我放链接,说违禁...不知道怎么回事,呵呵了....我偏要放,就算是图片,是吧大佬...

     HTTP的两种方法(一种是GET一种是POST):http://www.w3school.com.cn/tags/html_ref_httpmethods.asp

      最简单的一个爬虫代码:

    #!/usr/bin/python
    #coding:utf-8
    import urllib2 response = urllib2.urlopen('http://www.baidu.com/') html = response.read() print html

    看看上面的代码,陌生吗?反正很少是吧?我来教你,很简单的

    现在我们来加一个Request,来看看代码怎么样了

    #!/usr/bin/python
    #coding:utf-8
    import urllib2    
    req = urllib2.Request('http://www.cnblogs.com/yunquan/')   
    response = urllib2.urlopen(req)    
    the_page = response.read()    
    print the_page

    现在加了request之后,结果是一模一样的,那为什么还要加request这个东西呢?是因为request这东西可以传递两个参数

    1.发送Data数据表单

    2.作为HTTP的headers来额外的发送数据或本身的信息

    那我们就来看看这两种情况

    一、发送Data数据表单

    #!/usr/bin/python
    #coding:utf-8
    import urllib 
    import urllib2 
    url = 'http://www.baidu.com' 
    values = {'name' : 'Michael Foord', 
              'location' : 'pythontab', 
              'language' : 'Python' } 
    data = urllib.urlencode(values) 
    req = urllib2.Request(url, data) 
    response = urllib2.urlopen(req) 
    the_page = response.read()

    这里面的values也不知道是个啥格式,反正就是有值,然后我们把values给编码了....用的urlencode...因为浏览器只认识编码那种非人类的东西,所以我们得投其所好...

    然后,当当当当!我们下面的request是不是多了一个参数?对,就是被编码后的values...再向下就是套路了,一个open,一个read....全是套路....

    然后柘林还有一个HTTP发送请求的两种格式,参考:http://www.w3school.com.cn/tags/html_ref_httpmethods.asp

    import urllib2 
     import urllib 
     data = {} 
    data['name'] = 'Somebody Here' 
     data['location'] = 'pythontab' 
    data['language'] = 'Python' 
    url_values = urllib.urlencode(data) 
    url = 'http://www.baidu.com' 
     full_url = url + '?' + url_values 
     data = urllib2.open(full_url)

    二、作为HTTP的headers来额外的发送数据或本身的信息

    import urllib 
    import urllib2 
    url = 'http://www.baidu.com' 
    user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' 
      
    values = {'name' : 'Michael Foord', 
              'location' : 'shuyuqnuan', 
              'language' : 'Python' } 
    headers = { 'User-Agent' : user_agent } 
    data = urllib.urlencode(values) 
    req = urllib2.Request(url, data, headers) 
    response = urllib2.urlopen(req) 
    the_page = response.read()

    安装beautifulsoup

    #Mac下安装 
    sudo easy_install beautifulsoup4
    #Ubantu下安装
    pip install beautifulsoup4

    我们来写一个爬图片的爬虫(文件夹自己建,link那里看情况写)

    #!/usr/bin/python
    #coding:utf-8
    import urllib
    import urllib2
    import os
    from bs4 import BeautifulSoup
    
    
    def getAllImageLink():
    
        html = urllib2.urlopen('http://ac.qq.com/').read()
        soup = BeautifulSoup(html,'html.parser')
    
        liResult = soup.findAll('img')     
    
        count = 0;
        for image in liResult:
            count += 1
            link = ‘看情况’+image.get('src')    #这里看情况,src和url一样了就不写,不一样的话就加上前缀,直到link等于url为止
            imageName = count
            filesavepath = '/Users/net/Desktop/testpython/%s.jpg' % imageName
            print filesavepath
            urllib.urlretrieve(link,filesavepath)
            print filesavepath 
    if __name__ == '__main__':
        getAllImageLink()
  • 相关阅读:
    工科物理实验()中国大学MOOC答案(已更新)
    类似jar文件使用java无法打开问题
    python9、10章
    nmap的理解与利用(初级)
    常见端口
    配置优化
    删除表操作
    万能的map
    测试
    Mapper.xml
  • 原文地址:https://www.cnblogs.com/yunquan/p/6940447.html
Copyright © 2011-2022 走看看