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

    if 条件语句

    a=3
    if a>3:
        print("ok")
    elif a==3:
        print("no")
    else:
        print("dagag")

    循环语句:
    list1=["aaa","eee"];
    i=0;
    while i<len(list1):
        print(list1[i])
        i+=1
    for it in list1:
        print(it)

    class Person:
        def _init_(self,name,age):
            self.name=name
            self.age=age
           
    obj1=Person('tian',20)
    print(obj1.name)
     报错如下:

    TypeError                                 Traceback (most recent call last)
    <ipython-input-50-2187ba575e0c> in <module>
          4         self.age=age
          5 
    ----> 6 obj1=Person('tian',20)
          7 print(obj1.name)
          8 
    
    TypeError: Person() takes no arguments
    
    经查发现 类的构造方法 init左右都应该有两个_
    修改如下:
    class Person:
        def __init__(self,name,age):
            self.name=name
            self.age=age
           
    obj1=Person('tian',20)
    print(obj1.name)

    类的继承:
    class person:
        def pername(self):
            print("name:%s" %self.name)
        def perage(self):
            print("age:%s" %self.age)
    class man(person):
        def __init__(self,name,age,sex):
            self.name=name;
            self.age=age
            self.sex=sex
        def sex1(self):
             print("男")
    class woman(person):
        def __init__(self,name,age,sex):
            self.name=name;
            self.age=age
            self.sex=sex
        def sex1(self):
            print("女")
           
    man1=man("aa",20,'男')
    woman1=woman("bb",36,'女')
    man1.pername()
    man1.perage()
    man1.sex1()
    woman1.pername()
    woman1.perage()
    woman1.sex1()
    打印的结果如下:
    name:aa
    age:20
    男
    name:bb
    age:36
    女


    ---------------
    requests是一个很实用的Python HTTP客户端库
    requests的headers用来伪装成浏览器
    井号(#)常被用作单行注释符号,在代码中使用#时,它右边的任何数据都会被忽略,当做是注释。
    在python中也会有注释有很多行的时候,这种情况下就需要批量多行注释符了。多行注释是用三引号'''   '''包含的
    import requests
    link="http://www.1688.com/"
    headers = {'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-Us; rv:1.9.1.6) Firefox/3.5.6'}
    r=requests.get(link,headers=headers)
    r.encoding="utf-8"
    print(r.text)


    读取json
    import requests
    import json
    link="http://uni.notice.*****.com/get_plat_info"
    headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0'}
    res=requests.get(link,headers=headers)
    js_data=json.loads(res.text)
    for js1 in js_data:
        print(js1["channelId"],js1["channelName"])


    ..........
    100000 100000
    100001 100001
    100002 100002
    100003 100003
    100004 100004
    100005 100005
    100006 100006
    100007 100007_23
    100008 100008_24
    ...........

    post请求和get请求的区别: get请求的数据会暴漏在地址栏,post则不会;使用get,传输数据长度会受到URL长度的限制,post理论上不受限;post安全性更高

     

  • 相关阅读:
    使用Sed抽取MySQL安装文档的目录及行号
    [MySQL]关于Com_状态
    [译]理解对象存储如何工作
    [译]OpenStack Object Storage Monitoring
    通过设置swift中container的ACL提供匿名访问及用户授权读取服务
    使用swift命令遭遇503错误
    swift-get-nodes简单使用
    修改虚拟硬盘的大小
    php-fpm重启
    Windows学习"Network Analysis in Python"
  • 原文地址:https://www.cnblogs.com/playforever/p/10985935.html
Copyright © 2011-2022 走看看