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安全性更高

 

原文地址:https://www.cnblogs.com/playforever/p/10985935.html