前言:不是每個(gè)網(wǎng)頁都能模擬成功,僅供學(xué)習(xí)
發(fā)展壯大離不開廣大客戶長期以來的信賴與支持,我們將始終秉承“誠信為本、服務(wù)至上”的服務(wù)理念,堅(jiān)持“二合一”的優(yōu)良服務(wù)模式,真誠服務(wù)每家企業(yè),認(rèn)真做好每個(gè)細(xì)節(jié),不斷完善自我,成就企業(yè),實(shí)現(xiàn)共贏。行業(yè)涉及成都混凝土攪拌機(jī)等,在網(wǎng)站建設(shè)、成都全網(wǎng)營銷推廣、WAP手機(jī)網(wǎng)站、VI設(shè)計(jì)、軟件開發(fā)等項(xiàng)目上具有豐富的設(shè)計(jì)經(jīng)驗(yàn)。
--安裝模塊--
pip install urllib (運(yùn)行cmd輸入此段代碼即可安裝)
from urllib import request
import urllib
from http import cookiejar
# 定義文件名
filename = 'cookie.txt'
# 聲明一個(gè)cookie,傳入文件名
cookie = cookiejar.MozillaCookieJar(filename)
# 定義cookie處理
handler = request.HTTPCookieProcessor(cookie)
# 定義下載器,傳入處理器
opener = request.build_opener(handler)
# 定義登錄用的賬號(hào)密碼
postdata = urllib.parse.urlencode({
'username': '賬號(hào)',
'password': '密碼'
}).encode(encoding='UTF8')
# url
loginUrl = '網(wǎng)站'
# 模擬登錄頁面
resp = opener.open(loginUrl, postdata)
# 保存cookie到文件
cookie.save(ignore_discard=True, ignore_expires=True)
# 再次訪問網(wǎng)站
url2 = "網(wǎng)站"
# 打開頁面
try:
result = opener.open(url2)
except request.HTTPError as e:
if hasattr(e, "code"):
print(e.code)
except request.URLError as e:
if hasattr(e, "reason"):
print(e.reason)
else:
print(result.read())
了解正則表達(dá)式
正則表達(dá)式是對(duì)字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個(gè)“規(guī)則字符串”,這個(gè)“規(guī)則字符串”用來表達(dá)對(duì)字符串的一種過濾邏輯。
安裝模塊
pip install re (運(yùn)行cmd輸入此段代碼即可安裝)
import re
將正則表達(dá)式編譯成Pattern對(duì)象,注意hello前面的r的意思是“原生字符串”
pattern = re.compile(r'hello')
使用re.match匹配文本,獲得匹配結(jié)果,無法匹配時(shí)將返回None
result1 = re.match(pattern,'hello')
result2 = re.match(pattern,'helloo YC!')
result3 = re.match(pattern,'helo YC!')
result4 = re.match(pattern,'hello YC!')
match表示從頭開始匹配 匹配不到返回none
search可以從任意位置匹配
認(rèn)識(shí)匹配規(guī)則字符:
import re
# 定義正則化規(guī)則=匹配模式,r表示原生字符串
rexg = re.compile(r'\d*\w*')
res = re.search(rexg, 'ddddddddddddd5')
print(res)
rexg1 = re.compile(r'\d+\w*')
res1 = re.search(rexg1, 'pppppddddddddddddd5')
print(res1)
rexg2 = re.compile(r'\d?dddddd')
res2 = re.search(rexg2, 'pppppddddddddddddd5')
print(res2)
# 電話號(hào)碼
rexg3 = re.compile(r'1\d{10}')
res3 = re.search(rexg3, '')
print(res3)
# 定義郵箱
rexg4 = re.compile(r'\d{5,12}@\w{2}\.\w{3}')
res4 = re.search(rexg4, '1sdfsdfdsfdsdfs@qq.com')
print(res4)
rexg5 = re.compile(r'\d+')
res5 = re.search(rexg5, '11sdfsdfdsfdsdfs@qq.com')
print(res5)
rexg6 = re.compile(r'\d{5,12}? ?')
res6 = re.search(rexg6, '11sdfsdfdsfdsdfs6477d09191@qq.com')
print(res6)
# 邊界匹配-匹配字符串開頭
rexg7 = re.compile(r'\Aabc')
res7 = re.search(rexg7, 'abcqqqqqqqqqabccttttttttttt'
'abcctttttttttabc')
print(res7)
# 任意
rexg8 = re.compile(r'1\d{10}|\d{5,12}@\w{2}\.\w{3}')
res8 = re.search(rexg8, "sahsyhs1dgashgshasdag@qq.com")
print(res8)
# 分組
rexg9 = re.compile(r'(abc){3}')
res9 = re.search(rexg9, "zUJXHUJHXuabcabcabcosaojaodiabcosajosabc")
print(res9)
# 分組 + 別名
rexg10 = re.compile(r'(?P<tt>abc)888(?P=tt)')
res10 = re.search(rexg10, "hasghsabc888abc")
print(res10)
# 分組 + 編號(hào)
rexg11 = re.compile(r'(\d{5})uu\1')
res11 = re.search(rexg11, "uu")
print(res11)
新聞名稱:pyhon爬蟲模擬網(wǎng)頁登陸、正則表達(dá)式
瀏覽路徑:http://chinadenli.net/article6/dsojoog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、App設(shè)計(jì)、軟件開發(fā)、網(wǎng)站維護(hù)、品牌網(wǎng)站制作、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)