由於人工智慧的火熱,python也隨之流行,主要用於網路爬蟲,web網頁以及實現自動化。下面就自己學到的一些爬蟲案例進行總結!
具體的步驟,已經在下面**中給出注釋,這裡要說明一點的是,我們在抓取網頁資訊時,到底是通過網頁還是程式**,後台伺服器都可以跟蹤導,所以在程式中新增偽裝瀏覽器,windows nt 6.1 是windows 的學名。
import urllib
import urllib2
#定義網頁位址
url=""
#拼接關鍵字
kw=kw=urllib.urlencode(kw)
url=url+kw
#print url
for i in range(4):
#建立第幾頁
file=open("the% page.html"%(i+1),"w")
#拼接貼吧第幾頁的url
page="&pn=%s"(i*50)
newurl=url+page
#print newurl
#偽裝瀏覽器
user_agent=
#建立http 請求 get 傳入user-agent 報頭
req=urllib2.request(newurl,headers=user_agent)
#開啟請求鏈結 獲取響應物件
rsp=urllib2.urlopen(rsp)
#從響應物件中 讀取伺服器返回的文字資訊
html=rsp.read()
#將文字資訊寫入到響應檔案中
file.write(html)
#檔案關閉
file.close()
print("over"%(i+1))
2.抓取個人的網頁貼吧
import urllib
import urllib2
name=raw_input("請輸入:")
kw=kw=urllib.urlencode(kw)
url=""+kw
header=
req=urllib2.request(url,headers=header)
rsp=urllib2.urlopen(req)
print(rsp.code)
#print(rsp.read())
file=open("dili.txt","w")
file.write(rsp.read())
file.close()
#該種方式僅僅通過url獲取鏈結資料而已,並沒有封裝http/https請求 post get
3.利用程式查詢指定網頁
import urllib.request
kw=input("請輸入要查詢的內容:")
url=""
values=
data=urllib.parse.urlencode(values)
print(data)
url=url+"?"+data
header=
req=urllib.request.request(url,headers=header)
rsp=urllib.request.urlopen(req)
html=rsp.read()
print(html.decode("utf8"))
4.抓取內涵段子的頁面,指定前20頁
#爬取內涵段子吧裡面 腦經急轉彎 前20頁
import urllib
import urllib2
url=""
file=open("njjzw.txt","w")
num=0
for i in range(1):
if i==0:
newurl=url+"index_%s.html"%(i)
else:
newurl=url+"index_%s.html"%(i+1)
headers=
request=urllib2.request(newurl,headers=headers)
resopnse=urllib2.urlopen(request)
html=response.read()
#先獲取問題
re.compile("class="title" title="乙隻蜜蜂叮在掛曆上"")
#規則 在此pattern的規則下 查詢乙個字串中所有符合該規則的字串
questions=pattern.findall(html)
#print len(questions)
#獲取答案
pattern=re.complie("(.*)
") anwsers=pattern.findall(html)
print len(anwsers)
del anwsers[0]
for i in range(len(anwsers)):
num+=1
file.write("問題%:"%(num)+question[i])
file.write("\n")
anw=anwsers[i]
anw=anw.strip()
anw=anw[6:]
file.write("\t"+anw)
file.write("\n")
file.close()
5.正規表示式
這裡就不再一一贅述,與shell中講述的一致,也就是所謂的匹配。如果以後再程式設計中需要使用正規表示式,則需要查詢即可,只是工具而已。
#
#[1][34578][0-9]
import re
result=re.match("hehe","hehehe")
text=result.group()
print text
ret = re.match(".","abcd")
print ret.group()
ret = re.match("[hh]","hello python")
print ret.group()
ret = re.match("[01234567hello","7hello python")
Python網路爬蟲
找到url,也就是相當於入口,找到你要爬取的鏈結,獲取整個頁面資料 使用正規表示式,匹配到你想要爬取的內容,這裡使用的主要是正規表示式和一些常用的開源庫 最後一步就是寫入文字以及儲存問題了,如文字檔案 資料庫 coding utf 8 是用來指定檔案編碼為utf 8 from urllib impo...
python網路爬蟲
這篇部落格簡單的實現了乙個網路爬蟲指令碼,所謂網路爬蟲就是從 某乙個頁面 通常是首頁 開始,讀取網頁的內容,找到在網頁中的其它鏈結位址,然後通過這些鏈結位址尋找下乙個網頁,這樣一直迴圈下去,直到把這個 所有的網頁都抓取完為止。下面就是乙個簡單地網路爬蟲程式 note 這個命令的意思是,從爬去尋找關鍵...
python網路爬蟲
前言去掉所有標籤 dr re.compile r re.s dd dr.sub jiner 任意內容 可以匹配多位數字 可以匹配用逗號隔開的數字 可以匹配一位的數字 可以匹配帶小數點的數字 匹配空白符 匹配最後兩位 re.search 0 9 0 9 0 9 s.dd 當然,爬蟲還有乙個很關鍵的就通...