欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

python爬取常用函數(shù) python爬取例子

Python字典中幾個(gè)常用函數(shù)總結(jié)

1、get() 返回指定鍵的值,如果值不在字典中返回default值。

10余年的即墨網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營(yíng)銷的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整即墨建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“即墨網(wǎng)站設(shè)計(jì)”,“即墨網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

語(yǔ)法:dict.get(key,default=None)

參數(shù):

key 字典中要查找的鍵。

default 如果指定鍵的值不存在時(shí),返回該默認(rèn)值值。

例:

dict={'Name':'alex','Age':21}

print("Name is:%s"% dict.get('Name')+"\n"+ "Age is:%d"% dict.get('Age'))

顯示結(jié)果為:

Name is:alex

Age is:21

2、update() 將一個(gè)字典中的值更新到另一個(gè)字典中。

語(yǔ)法:dict.update(dict2)

參數(shù):

dict2 添加到指定字典dict里的字典。

例:

dict={'Name':'alex','Age':21}

dict2={'Sex':'female'}

dict.update(dict2)

print("Value is %s" % dict)

顯示結(jié)果為:

Value is {'Name': 'alex', 'Age': 21, 'Sex': 'female'}

python基礎(chǔ):內(nèi)置函數(shù)、方法、轉(zhuǎn)義字符大全

在寫python程序時(shí),常能用到一些函數(shù)和方法,總結(jié)一下,保存起來(lái),方便查詢。

一、內(nèi)置函數(shù)

# abs()獲取數(shù)字絕對(duì)值

# chr(i)數(shù)字轉(zhuǎn)換為字符類型

# divmod() 獲取兩個(gè)數(shù)值的商和余數(shù)

# enumerate() 將可遍歷序列組合為索引序列

# float()轉(zhuǎn)換為浮點(diǎn)數(shù)

# format() 格式化字符串

# int()轉(zhuǎn)換為整數(shù)?

# input() 接受用戶輸入內(nèi)容

# len() 計(jì)算元素個(gè)數(shù)

# max() 返回最大值

# min() 返回最小值

# math.ceil() 返回指定數(shù)值的上舍整數(shù)

# open()打開(kāi)文件并返回文件對(duì)象

# pow() 冪運(yùn)算

# print()打印輸出?

# range() 生成器

# reversed()反轉(zhuǎn)所有元素

# round()四舍五入求值

# sorted()對(duì)可迭代對(duì)象進(jìn)行排序?

# str() 轉(zhuǎn)換為字符串

# sum() 求和

# set() 創(chuàng)建集合

# tuple() 將序列轉(zhuǎn)換為元組

# zip()將可迭代對(duì)象打包成元組

二、方法

# append() 添加列表元素

# capitalize()首字母轉(zhuǎn)換為大寫?

# count()字符出現(xiàn)次數(shù)

# close() 關(guān)閉文件

# decode() 解碼字符串

# dict.keys() 獲取字典所有的鍵

# find()字符串首次出現(xiàn)的索引

# f.read() 讀取文件內(nèi)容

# dict.update()更新字典

# dict.items() 獲取字典鍵/值對(duì)

# dict.get() 返回指定鍵的值

# encode() 編碼字符串

# list.sort() 排序列表元素

# index() 元素首次出現(xiàn)的索引

# isdigit() 判斷字符串是否只由數(shù)字組成

# isupper() 是否所有字母都為大寫

# isnum() 判斷字符串是否由字母和數(shù)字組成

# islower() 是否所有字母都為小寫

# isdecimal() 檢查字符串是否只包含十進(jìn)制字符

# isalpha() 檢測(cè)字符串是否為純字母

# random.shuffle()隨機(jī)排序

# random.sample()返回?zé)o重復(fù)隨機(jī)數(shù)列表

# random.choice() 返回一個(gè)隨機(jī)元素

# random.randint() 生成指定范圍的隨機(jī)整數(shù)

# random.randrange() 生成指定范圍的指定遞增基數(shù)隨機(jī)整數(shù)

# pop() 刪除列表中的元素

# remove()刪除列表中的指定元素

# strip()去除空格

# lstrip()去除左側(cè)空格

# rstrip() 去除右側(cè)空格

# readline() 讀取單行內(nèi)容

# root.after() Tkinter中等待一段時(shí)間后再執(zhí)行命令

# str.isnumeric() 驗(yàn)證字符串是否為數(shù)字(適用于Unicode)

# split()分割字符串

# ord() 將字符轉(zhuǎn)換為整數(shù)

# replace() 字符串替換

# ljust() 左對(duì)齊填充

# rjust() 左對(duì)齊填充

# readlines() 讀取所有行內(nèi)容

# datetime.datetime.now() 返回指定時(shí)區(qū)的本地日期時(shí)間

# datetime.datetime.today() 獲取當(dāng)前本地日期的date對(duì)象

# datetime.utcnow() 返回當(dāng)前UTC時(shí)間的datetime對(duì)象

# time.strptime()把時(shí)間字符串解析為元組

# time.time()返回當(dāng)前時(shí)間的時(shí)間戳

# time.sleep()暫停指定秒數(shù)

# time.strftime() 返回指定格式的日期字符串

# time.mktime() 接收時(shí)間元組并返回時(shí)間戳

# os.getcwd() 獲取當(dāng)前工作目錄

# os.listdir() 獲取指定路徑下的目錄和文件列表

# os.makedirs() 遞歸創(chuàng)建目錄

# os.rename() 重命名目錄或文件

# os.path.exists() 判斷路徑是否存在

# upper() 全部轉(zhuǎn)換為大寫字母

# lower()? 全部轉(zhuǎn)換為小寫字母

# sys.stdout.write() 標(biāo)準(zhǔn)輸出打印

# sys.stdout.flush()刷新輸出?

# shutil.copy() 復(fù)制單個(gè)文件到另一文件或目錄

# write() 寫入文件內(nèi)容

# winsound.Beep() 打開(kāi)電腦揚(yáng)聲器

# zfill() 在字符串前面填充0

三、循環(huán)語(yǔ)句

# break終止當(dāng)前循環(huán)

# continue 終止本循環(huán)進(jìn)入下一次循環(huán)

# with open() as file 以with語(yǔ)句打開(kāi)文件(數(shù)據(jù)保存)

四、轉(zhuǎn)義字符

\ 行尾續(xù)行符

\' 單引號(hào)?

\'' 雙引號(hào)

\a 響鈴

\e 轉(zhuǎn)義

\n 換行

\t 橫向制表符

\f 換頁(yè)

\xyy 十六進(jìn)制yy代表的字符

\\反斜杠符號(hào)

\b 退格

\000 空

\v 縱向制表符

\r 回車

\0yy 八進(jìn)制yy代表的字符

\other 其他的字符以普通格式輸出

python常用列表函數(shù)

1

len(list)

列表元素個(gè)數(shù)

2

max(list)

返回列表元素最大值

3

min(list)

返回列表元素最小值

4

list(seq)

將元組轉(zhuǎn)換為列表

序號(hào)

方法

1

list.append(obj)

在列表末尾添加新的對(duì)象

2

list.count(obj)

統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù)

3

list.extend(seq)

在列表末尾一次性追加另一個(gè)序列中的多個(gè)值(用新列表擴(kuò)展原來(lái)的列表)

4

list.index(obj)

從列表中找出某個(gè)值第一個(gè)匹配項(xiàng)的索引位置

5

list.insert(index, obj)

將對(duì)象插入列表

6

list.pop([index=-1])

移除列表中的一個(gè)元素(默認(rèn)最后一個(gè)元素),并且返回該元素的值

7

list.remove(obj)

移除列表中某個(gè)值的第一個(gè)匹配項(xiàng)

8

list.reverse()

反向列表中元素

9

list.sort( key=None, reverse=False)

對(duì)原列表進(jìn)行排序

10

list.clear()

清空列表

11

list.copy()

復(fù)制列表

如何入門 Python 爬蟲(chóng)

現(xiàn)在之所以有這么多的小伙伴熱衷于爬蟲(chóng)技術(shù),無(wú)外乎是因?yàn)榕老x(chóng)可以幫我們做很多事情,比如搜索引擎、采集數(shù)據(jù)、廣告過(guò)濾等,以Python為例,Python爬蟲(chóng)可以用于數(shù)據(jù)分析,在數(shù)據(jù)抓取方面發(fā)揮巨大的作用。

但是這并不意味著單純掌握一門Python語(yǔ)言,就對(duì)爬蟲(chóng)技術(shù)觸類旁通,要學(xué)習(xí)的知識(shí)和規(guī)范還有喜很多,包括但不僅限于HTML 知識(shí)、HTTP/HTTPS 協(xié)議的基本知識(shí)、正則表達(dá)式、數(shù)據(jù)庫(kù)知識(shí),常用抓包工具的使用、爬蟲(chóng)框架的使用等。而且涉及到大規(guī)模爬蟲(chóng),還需要了解分布式的概念、消息隊(duì)列、常用的數(shù)據(jù)結(jié)構(gòu)和算法、緩存,甚至還包括機(jī)器學(xué)習(xí)的應(yīng)用,大規(guī)模的系統(tǒng)背后都是靠很多技術(shù)來(lái)支撐的。

零基礎(chǔ)如何學(xué)爬蟲(chóng)技術(shù)?對(duì)于迷茫的初學(xué)者來(lái)說(shuō),爬蟲(chóng)技術(shù)起步學(xué)習(xí)階段,最重要的就是明確學(xué)習(xí)路徑,找準(zhǔn)學(xué)習(xí)方法,唯有如此,在良好的學(xué)習(xí)習(xí)慣督促下,后期的系統(tǒng)學(xué)習(xí)才會(huì)事半功倍,游刃有余。

用Python寫爬蟲(chóng),首先需要會(huì)Python,把基礎(chǔ)語(yǔ)法搞懂,知道怎么使用函數(shù)、類和常用的數(shù)據(jù)結(jié)構(gòu)如list、dict中的常用方法就算基本入門。作為入門爬蟲(chóng)來(lái)說(shuō),需要了解 HTTP協(xié)議的基本原理,雖然 HTTP 規(guī)范用一本書(shū)都寫不完,但深入的內(nèi)容可以放以后慢慢去看,理論與實(shí)踐相結(jié)合后期學(xué)習(xí)才會(huì)越來(lái)越輕松。關(guān)于爬蟲(chóng)學(xué)習(xí)的具體步驟,我大概羅列了以下幾大部分,大家可以參考:

網(wǎng)絡(luò)爬蟲(chóng)基礎(chǔ)知識(shí):

爬蟲(chóng)的定義

爬蟲(chóng)的作用

Http協(xié)議

基本抓包工具(Fiddler)使用

Python模塊實(shí)現(xiàn)爬蟲(chóng):

urllib3、requests、lxml、bs4 模塊大體作用講解

使用requests模塊 get 方式獲取靜態(tài)頁(yè)面數(shù)據(jù)

使用requests模塊 post 方式獲取靜態(tài)頁(yè)面數(shù)據(jù)

使用requests模塊獲取 ajax 動(dòng)態(tài)頁(yè)面數(shù)據(jù)

使用requests模塊模擬登錄網(wǎng)站

使用Tesseract進(jìn)行驗(yàn)證碼識(shí)別

Scrapy框架與Scrapy-Redis:

Scrapy 爬蟲(chóng)框架大體說(shuō)明

Scrapy spider 類

Scrapy item 及 pipeline

Scrapy CrawlSpider 類

通過(guò)Scrapy-Redis 實(shí)現(xiàn)分布式爬蟲(chóng)

借助自動(dòng)化測(cè)試工具和瀏覽器爬取數(shù)據(jù):

Selenium + PhantomJS 說(shuō)明及簡(jiǎn)單實(shí)例

Selenium + PhantomJS 實(shí)現(xiàn)網(wǎng)站登錄

Selenium + PhantomJS 實(shí)現(xiàn)動(dòng)態(tài)頁(yè)面數(shù)據(jù)爬取

爬蟲(chóng)項(xiàng)目實(shí)戰(zhàn):

分布式爬蟲(chóng)+ Elasticsearch 打造搜索引擎

一文秒懂python正則表達(dá)式常用函數(shù)

01 Re概覽

Re模塊是python的內(nèi)置模塊,提供了正則表達(dá)式在python中的所有用法,默認(rèn)安裝位置在python根目錄下的Lib文件夾(如 ..\Python\Python37\Lib)。主要提供了3大類字符串操作方法:

字符查找/匹配

字符替換

字符分割

由于是面向字符串類型的模塊,就不得不提到字符串編碼類型。re模塊中,模式串和搜索串既可以是 Unicode 字符串 (常用str類型) ,也可以是8位字節(jié)串 (bytes,2位16進(jìn)制數(shù)字,例如\xe5) , 但要求二者必須是同類型字符串。

02 字符串查找/匹配

預(yù)編譯:compile

在介紹查找和匹配函數(shù)前,首先需要知道re的compile函數(shù),該函數(shù)可以將一個(gè)模式串編譯成正則表達(dá)式類型,以便后續(xù)快速匹配和復(fù)用

import?re pattern?=?re.compile(r'[a-z]{2,5}') type(pattern)?#re.Pattern

此例創(chuàng)建了一個(gè)正則表達(dá)式式對(duì)象 (re.pattern) ,命名為pattern,用于匹配2-5位小寫字母的模式串。后續(xù)在使用其他正則表達(dá)式函數(shù)時(shí),即可使用pattern進(jìn)行方法調(diào)用。

匹配:match

match函數(shù)用于從文本串的起始位置開(kāi)始匹配,若匹配成功,則返回相應(yīng)的匹配對(duì)象,此時(shí)可調(diào)用group()方法返回匹配結(jié)果,也可用span()方法返回匹配起止下標(biāo)區(qū)間;否則返回None

import?re pattern?=?re.compile(r'[a-z]{2,5}') text1?=?'this?is?a?re?test' res?=?pattern.match(text1) print(res)?# if?res: ?print(res.group())?#this ?print(res.span())?#(0,?4) text2?=?'是的,?this?is?a?re?test' print(pattern.match(text2))#None

match函數(shù)還有一個(gè)變形函數(shù)fullmatch,當(dāng)且僅當(dāng)模式串與文本串剛好全部匹配時(shí),返回一個(gè)匹配對(duì)象,否則返回None

搜索:search

match只提供了從文本串起始位置匹配的結(jié)果,如果想從任意位置匹配,則可調(diào)用search方法,與match方法類似,當(dāng)任意位置匹配成功,則立即返回一個(gè)匹配對(duì)象,也可調(diào)用span()方法獲取起止區(qū)間、調(diào)用group方法獲得匹配文本串

import?re pattern?=?re.compile(r'\s[a-z]{2}') text1?=?'this?is?a?re?test' res?=?pattern.search(text1) print(res)?# if?res: ?print(res.group())?#is ?print(res.span())?#(4,?7) pattern2?=?re.compile(r'\s[a-z]{5}') text2?=?'是的,this?is?a?re?test' print(pattern2.search(text2))#None

match和search均用于匹配單個(gè)結(jié)果,唯一區(qū)別在于前者是從起始位置開(kāi)始匹配,而后者從任意位置匹配,匹配成功則返回一個(gè)match對(duì)象。

全搜索:findall/finditer

幾乎是最常用的正則表達(dá)式函數(shù),用于尋找所有匹配的結(jié)果,例如在爬蟲(chóng)信息提取中,可非常方便地提取所有匹配字段

import?re pattern?=?re.compile(r'\s[a-z]{2,5}') text1?=?'this?is?a?re?test' res?=?pattern.findall(text1) print(res)?#['?is',?'?re',?'?test']

findall返回的是一個(gè)列表對(duì)象類型,當(dāng)無(wú)匹配對(duì)象時(shí),返回一個(gè)空列表。為了避免因同時(shí)返回大量匹配結(jié)果占用過(guò)多內(nèi)存,可以調(diào)用finditer函數(shù)返回一個(gè)迭代器類型,其中每個(gè)迭代元素是一個(gè)match對(duì)象,可繼續(xù)調(diào)用group和span方法獲取相應(yīng)結(jié)果

import?re pattern?=?re.compile(r'\s[a-z]{2,5}') text1?=?'this?is?a?re?test' res?=?pattern.finditer(text1) for?r?in?res: ?print(r.group()) """ ?is ?re ?test """

當(dāng)匹配模式串較為簡(jiǎn)單或者僅需單詞調(diào)用時(shí),上述所有方法也可直接調(diào)用re類函數(shù),而無(wú)需事先編譯。此時(shí)各方法的第一個(gè)參數(shù)為模式串。

import?re pattern?=?re.compile(r'\d{2,5}') text?=?'this?is?re?test' re.findall('[a-z]+',?text)?#['this',?'is',?'re',?'test'] 03 字符串替換/分割

替換:sub/subn

當(dāng)需要對(duì)文本串進(jìn)行條件替換時(shí),可調(diào)用re.sub實(shí)現(xiàn) (當(dāng)然也可先編譯后再用調(diào)用實(shí)例方法) ,相應(yīng)參數(shù)分別為模式串、替換格式、文本串,還可以通過(guò)增加缺省參數(shù)限定替換次數(shù)和匹配模式。通過(guò)在模式串進(jìn)行分組,可實(shí)現(xiàn)字符串的格式化替換(類似字符串的format方法),以實(shí)現(xiàn)特定任務(wù)。

import?re text?=?'today?is?2020-03-05' print(re.sub('-',?'',?text))?#'today?is?20200305' print(re.sub('-',?'',?text,?1))?#'today?is?202003-05' print(re.sub('(\d{4})-(\d{2})-(\d{2})',?r'\2/\3/\1',?text))?#'today?is?03/05/2020'

re.sub的一個(gè)變形方法是re.subn,區(qū)別是返回一個(gè)2元素的元組,其中第一個(gè)元素為替換結(jié)果,第二個(gè)為替換次數(shù)

import?re text?=?'today?is?2020-03-05' print(re.subn('-',?'',?text))?#('today?is?20200305',?2)

分割:split

還可以調(diào)用正則表達(dá)式實(shí)現(xiàn)字符串的特定分割,相當(dāng)于.split()方法的一個(gè)加強(qiáng)版,實(shí)現(xiàn)特定模式的分割,返回一個(gè)切割后的結(jié)果列表

import?re text?=?'today?is?a?re?test,?what?do?you?mind?' print(re.split(',',?text))?#['today?is?a?re?test',?'?what?do?you?mind?'] 04 總結(jié)

python中的re模塊提供了正則表達(dá)式的常用方法,每種方法都包括類方法調(diào)用(如re.match)或模式串的實(shí)例調(diào)用(pattern.match)2種形式

常用的匹配函數(shù):match/fullmatch

常用的搜索函數(shù):search/findall/finditer

常用的替換函數(shù):sub/subn

常用的切割函數(shù):split

還有其他很多方法,但不是很常用,具體可參考官方文檔

另外,python還有第三方正則表達(dá)式庫(kù)regex可供選擇

到此這篇關(guān)于一文秒懂python正則表達(dá)式常用函數(shù)的文章就介紹到這了,希望大家以后多多支持!

Python的函數(shù)都有哪些

【常見(jiàn)的內(nèi)置函數(shù)】

1、enumerate(iterable,start=0)

是python的內(nèi)置函數(shù),是枚舉、列舉的意思,對(duì)于一個(gè)可迭代的(iterable)/可遍歷的對(duì)象(如列表、字符串),enumerate將其組成一個(gè)索引序列,利用它可以同時(shí)獲得索引和值。

2、zip(*iterables,strict=False)

用于將可迭代的對(duì)象作為參數(shù),將對(duì)象中對(duì)應(yīng)的元素打包成一個(gè)個(gè)元組,然后返回由這些元組組成的列表。如果各個(gè)迭代器的元素個(gè)數(shù)不一致,則返回列表長(zhǎng)度與最短的對(duì)象相同,利用*號(hào)操作符,可以將元組解壓為列表。

3、filter(function,iterable)

filter是將一個(gè)序列進(jìn)行過(guò)濾,返回迭代器的對(duì)象,去除不滿足條件的序列。

4、isinstance(object,classinfo)

是用來(lái)判斷某一個(gè)變量或者是對(duì)象是不是屬于某種類型的一個(gè)函數(shù),如果參數(shù)object是classinfo的實(shí)例,或者object是classinfo類的子類的一個(gè)實(shí)例,

返回True。如果object不是一個(gè)給定類型的的對(duì)象, 則返回結(jié)果總是False

5、eval(expression[,globals[,locals]])

用來(lái)將字符串str當(dāng)成有效的表達(dá)式來(lái)求值并返回計(jì)算結(jié)果,表達(dá)式解析參數(shù)expression并作為Python表達(dá)式進(jìn)行求值(從技術(shù)上說(shuō)是一個(gè)條件列表),采用globals和locals字典作為全局和局部命名空間。

【常用的句式】

1、format字符串格式化

format把字符串當(dāng)成一個(gè)模板,通過(guò)傳入的參數(shù)進(jìn)行格式化,非常實(shí)用且強(qiáng)大。

2、連接字符串

常使用+連接兩個(gè)字符串。

3、if...else條件語(yǔ)句

Python條件語(yǔ)句是通過(guò)一條或多條語(yǔ)句的執(zhí)行結(jié)果(True或者False)來(lái)決定執(zhí)行的代碼塊。其中if...else語(yǔ)句用來(lái)執(zhí)行需要判斷的情形。

4、for...in、while循環(huán)語(yǔ)句

循環(huán)語(yǔ)句就是遍歷一個(gè)序列,循環(huán)去執(zhí)行某個(gè)操作,Python中的循環(huán)語(yǔ)句有for和while。

5、import導(dǎo)入其他腳本的功能

有時(shí)需要使用另一個(gè)python文件中的腳本,這其實(shí)很簡(jiǎn)單,就像使用import關(guān)鍵字導(dǎo)入任何模塊一樣。

新聞名稱:python爬取常用函數(shù) python爬取例子
轉(zhuǎn)載來(lái)于:http://chinadenli.net/article12/dodjjdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)網(wǎng)站收錄網(wǎng)頁(yè)設(shè)計(jì)公司企業(yè)建站靜態(tài)網(wǎng)站品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)