python 網路爬蟲以及正規表示式

2021-09-10 23:40:06 字數 3389 閱讀 8502

由於人工智慧的火熱,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 當然,爬蟲還有乙個很關鍵的就通...