'''python抓取資料方式》開始'''
# 第一種:response 獲取
data = response.text
# 第二種:requests 獲取
data = requests.get(link)
data = data.text
# 第三種:urlopen 獲取
data = urlopen(link).read()
# beautiful soup自動將輸入文件轉換為unicode編碼,輸出文件轉換為utf-8編碼
data = beautifulsoup(data, "html.parser")
# 第四種:xpath 解析獲取
data = response.xpath('//div[@id="endtext"]').get()
# beautiful soup自動將輸入文件轉換為unicode編碼,輸出文件轉換為utf-8編碼
data = beautifulsoup(data, 'html.parser')
print(data)
'''python抓取資料方式》結束'''
字串是否包含
if 'ce' in nice:
去除第乙個字元
nice = nice[1:]
去除最後乙個字元
nice = nice[:-1]
去除字串左邊的空格
nice.lstrip()
去除字串右邊的空格
nice.rstrip()
陣列的長度
length = len(array)
nice轉字串:
nice = ''.join(nice)
或者nice = repr(nice)
nice轉json:
json.loads()解碼python json格式
json.load()載入python json格式檔案
迴圈遍歷:
for str in list:
print(str)
if 'nice' in str:
continue
break
替換字串中的反斜槓\
str = eval(repr(str).replace('\\', '@'))
字串str轉換成int
int_value = int(str_value)
int轉換成字串
str: str_value = str(int_value)
分割字串
nice.rsplit(",")
解決urlopen亂碼開始
typeencode = sys.getfilesystemencoding() ##系統預設編碼
infoencode = chardet.detect(html).get('encoding', 'utf-8') ##通過第3方模組來自動提取網頁的編碼
html = html.decode(infoencode, 'ignore').encode(typeencode) ##先轉換成unicode編碼,然後轉換系統編碼輸出
# 解決urlopen亂碼結束
soup = beautifulsoup(html, "html.parser")
scripts = soup.select("script") # css 選擇器
延時抓取
import time
time.sleep(3)
時間戳轉時間格式(時間戳的長度為10位才可以,否則會報此異常:oserror: [errno 22] invalid argument)
timearray = time.localtime(upload_time)
upload_time = time.strftime("%y-%m-%d %h:%m:%s", timearray)
# 若時間戳的長度為13位,則需要變成10位的
# timearray = time.localtime(int(upload_time/1000))
#多個if判斷
if 'pic-group clear' == divclass:
print('4張圖')
elif 'pic img-do left' == divclass:
print('1張圖')
else:
print('無圖')
#python爬蟲去除網頁中的script結構
import re
clear = re.compile('<\s*script[^>]*>[^<]*<\s*/\s*script\s*>', re.i)
content = clear.sub("", content)
# 去除id="content-ad"的div
clear = re.compile(r'
(.*)
', re.s)
content = clear.sub("", content)
Python中常見的語法糖
知識點導航 1.橫線分隔符 2.交換兩個變數的值 3.判斷變數是否在範圍內 4.字串的乘法 5.列表相加 6.列表切片 7.解壓序列賦值給多個變數 8.with open 9.列表推導式 10.取兩個數中的最大值 在python3.6以及更高的版本中,像下面這樣寫就可以很清楚看出有幾個0 x 1 0...
Python中常用的模組和高階語法整理總結
總結python中常用的模組和一些高階語法,方便以後查詢使用 logging模組 用於日誌記錄,deep learning 中經常用到 filter function,iterable 用於過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表,做法是依次將序列的值傳入function中,...
python中常用的git
git clone 位址 轉殖位址 git branch 檢視分支 git checkout b dev origin dev 轉殖伺服器的dev分支 git checkout b name 建立自己的分支 git status 檢視狀態 git add 新增 git commit m 內容 儲存 ...