程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Basic knowledge of python crawler

編輯:Python

pythonSimple review of the basics

pycharm的簡單配置

settings->editor->file and code temlates

#-*- codeing = utf-8 -*- 編碼#@Time : ${DATE} ${TIME} 時間#@Author : chengcheng 作責#@File : ${NAME}.py 文件名#@Software : ${PROJECT_NAME} File runtime environment

Comments automatically generated for new files after modifying the settings

#-*- codeing = utf-8 -*-#@Time : 2020/9/27 19:00#@Author : chengcheng#@File : day01test02.py#@Software : python_test01''''多行注釋'''

python基礎知識補充:

forLoops can iterate over many basic data types.

name = "123"lists = ["1", 2]for x in name: print(x, end="") for strings in lists: #It is also possible to traverse lists and other data storage structures that use indexes print(strings)

while循環可以和else子句一起使用

while True: print(1)else: print(2)

pythonData elements that support indexing can use negative slicing

#列表,元組,字符串

break 結束while,for循環,continue 結束本次循環,pass 占位符

r 與C#中的@功能一致

print(r"12\n23")

python字符串常用方法

方法描述string.capitalize()把字符串的第一個字符大寫string.center(width)返回一個原字符串居中,並使用空格填充至長度 width 的新字符串string.count(str, beg=0, end=len(string))返回 str 在 string 裡面出現的次數,如果 beg 或者 end 指定則返回指定范圍內 str 出現的次數[string.decode(encoding=‘UTF-8’, errors=‘strict’)]以 encoding 指定的編碼格式解碼 string,如果出錯默認報一個 ValueError 的 異 常 , 除非 errors 指 定 的 是 ‘ignore’ 或 者’replace’[string.encode(encoding=‘UTF-8’, errors=‘strict’)]以 encoding 指定的編碼格式編碼 string,如果出錯默認報一個ValueError 的異常,除非 errors 指定的是’ignore’或者’replace’string.endswith(obj, beg=0, end=len(string))檢查字符串是否以 obj 結束,如果beg 或者 end 指定則檢查指定的范圍內是否以 obj 結束,如果是,返回 True,否則返回 False.string.expandtabs(tabsize=8)把字符串 string 中的 tab 符號轉為空格,tab 符號默認的空格數是 8.string.find(str, beg=0, end=len(string))檢測 str 是否包含在 string 中,如果 beg 和 end 指定范圍,則檢查是否包含在指定范圍內,如果是返回開始的索引值,否則返回-1string.format()格式化字符串[string.index(str, beg=0, end=len(string))]跟find()方法一樣,只不過如果str不在 string中會報一個異常.string.isalnum()如果 string 至少有一個字符並且所有字符都是字母或數字則返回 True,否則返回 Falsestring.isalpha()如果 string 至少有一個字符並且所有字符都是字母則返回 True,否則返回 Falsestring.isdecimal()如果 string 只包含十進制數字則返回 True 否則返回 False.string.isdigit()如果 string 只包含數字則返回 True 否則返回 False.string.islower()如果 string 中包含至少一個區分大小寫的字符,並且所有這些(區分大小寫的)字符都是小寫,則返回 True,否則返回 Falsestring.isnumeric()如果 string 中只包含數字字符,則返回 True,否則返回 Falsestring.isspace()如果 string 中只包含空格,則返回 True,否則返回 False.string.istitle()如果 string 是標題化的(見 title())則返回 True,否則返回 Falsestring.isupper()如果 string 中包含至少一個區分大小寫的字符,並且所有這些(區分大小寫的)字符都是大寫,則返回 True,否則返回 False[string.join(seq)]以 string 作為分隔符,將 seq 中所有的元素(的字符串表示)合並為一個新的字符串string.ljust(width)返回一個原字符串左對齊,並使用空格填充至長度 width 的新字符串string.lower()轉換 string 中所有大寫字符為小寫.[string.lstrip()]截掉 string 左邊的空格或字符string.maketrans(intab, outtab])maketrans() 方法用於創建字符映射的轉換表,對於接受兩個參數的最簡單的調用方式,第一個參數是字符串,表示需要轉換的字符,第二個參數也是字符串表示轉換的目標.max(str)返回字符串 str 中最大的字母.min(str)返回字符串 str 中最小的字母.string.partition(str)有點像 find()和 split()的結合體,從 str 出現的第一個位置起,把 字 符 串 string 分 成 一 個 3 元 素 的 元 組 (string_pre_str,str,string_post_str),如果 string 中不包含str 則 string_pre_str == string.string.replace(str1, str2, num=string.count(str1))把 string 中的 str1 替換成 str2,如果 num 指定,則替換不超過 num 次.string.rfind(str, beg=0,end=len(string) )類似於 find()函數,不過是從右邊開始查找.string.rindex( str, beg=0,end=len(string))類似於 index(),不過是從右邊開始.string.rjust(width)返回一個原字符串右對齊,並使用空格填充至長度 width 的新字符串string.rpartition(str)類似於 partition()函數,不過是從右邊開始查找[string.rstrip()]刪除 string 字符串末尾的空格.[string.split(str="", num=string.count(str))]以 str 為分隔符切片 string,如果 num 有指定值,則僅分隔 num+ 個子字符串[string.splitlines(keepends])按照行(’\r’, ‘\r\n’, \n’)分隔,返回一個包含各行作為元素的列表,如果參數 keepends 為 False,不包含換行符,如果為 True,則保留換行符.string.startswith(obj, beg=0,end=len(string))檢查字符串是否是以 obj 開頭,是則返回 True,否則返回 False.如果beg 和 end 指定值,則在指定范圍內檢查.[string.strip(obj])在 string 上執行 lstrip()和 rstrip()string.swapcase()翻轉 string 中的大小寫string.title()返回"標題化"的 string,就是說所有單詞都是以大寫開始,其余字母均為小寫(見 istitle())string.translate(str, del="")根據 str 給出的表(包含 256 個字符)轉換 string 的字符,要過濾掉的字符放到 del 參數中string.upper()轉換 string 中的小寫字母為大寫string.zfill(width)返回長度為 width 的字符串,原字符串 string 右對齊,前面填充0

列表

lst = [1,2,3,4]lst.append(12) #末尾追加lst.append(["1", 5]) #Add the whole directlylst.extend([2,3]) #擴展添加for i in lst: print(i)
lst = [1,2,3,4,5,6,7,8,7]lst.pop() #默認彈出最後一個元素lst.pop(1) #彈出指定位置的元素lsts = []lsts = lst.remove(8) #移除指定元素del lst[1] #刪除指定位置的元素for i in lst: print(i, end="")for x in lsts: print(x, end="")
lst = [1,1,1,1]lst[0] = 2 #修改指定位置的元素值lst[1] = 3for i in lst: print(i)
select_name = 5lst = [1,2,3,4,5]if select_name in lst: #Implies a traversal of the list print("OK")else: print("NO")
lst = [1,2,3,4,5]print(lst.index(3, 1, 3)) #從1到3,查詢3的位置print(lst.index(3, 1, 2)) #如果查詢不到,會報錯,[1,3)左閉右開
lst = [1,2,3,4]lst.reverse() #Reverse list elementsprint(lst)lst.sort(reverse=True) #列表進行排序,reverse=True反序print(lst)

元組

#元組#Tuples are immutabletup1 = () #創建空的元組tup2 = (50,) #對於元組而言,If there is only one element, a comma needs to be added to distinguish it from the bracket expressionprint(type(tup2)) #The type changes after the element is includedprint(type(tup1)) #The default empty tuple is the tuple typetup3 = ("a", 1 ,2, "b", "a") #可以有重復元素print(tup3)
#增tup1 = (1,2,3)tup2 = ("a", "b", "c")tup = tup1 + tup2 #Elements of tuples are connected in a connected manner,返回一個新的元組print(tup)

字典

#字典#The key requirement must use a data type that cannot be changed,The key requirement is unique,值可以是重復的info = {"name":"qaq", "ages":12} #字典的定義print(info["name"]) #The values ​​of the dictionary are accessed by keysprint(info["ages"])print(info["age"]) #直接訪問不存在的鍵,會拋出錯誤print(info.get("genter")) #使用get方法,If there is no key to query,就返回noneprint(info.get("genter"), "111") #When accessing an indeterminate key again,可以使用get方法
#增info = {"name":"qaq", "age":18}id = 233info["id"] = id #Use the new key directly,並且復制,完成字典的添加print(info)
#刪info = {"name":1, "age":2}del info["name"] #刪除一個鍵值對del info #刪除整個字典info.clear() #清空字典的所有內容,The dictionary still exists
#改info = {"name":"qaq", "age":18}id = 233info["age"] = id #Access directly by key,復賦值,修改print(info)
#查info = {"name":"qaq", "age":18}print(info.keys()) #Returns all key valuesprint(info.values()) #返回全部的值print(info.items()) #Returns all key values對

小結

列表[]有序可變類型元組()有序不可變類型字典{ }無序key不可重復,value可重復集合{ }無序不可重復

文件

open

打開文件,有多種模式可供選擇w寫,r讀

read

讀取字符(可傳參)

radline

讀取一行數據

readlines

讀取全部數據

異常

try: f = open("123.txt") print(1) #If an error was thrown before,下面的語句不再執行except (IOError, NameError) as message: print(message) #except捕獲異常,Possible exceptions can be enclosed in parentheses,ExceptionContains all exceptions pass

python 的 異常捕獲語法

try: f = open("123.txt") #可能出現異常的語句except Exception as msg: print(msg) #What statement should be executed after an exception occurselse: print("ok") #如果沒有出現異常,執行什麼語句finally: f.close() #Regardless of whether there is an error or not,都會執行的語句

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved