網頁解析正規表示式

2021-06-26 15:35:29 字數 1565 閱讀 5375

在寫爬蟲的過程中,最麻煩的就是寫正規表示式,還要乙個乙個的嘗試,一次次的除錯,很是費時間。於是我就寫了乙個網頁版的,只需要輸入要爬的**,和正則式,網頁上就可以顯示爬到的資料。

思路:其實很簡單,將**和正則式傳到伺服器,伺服器解析之後,將結果返回到前端。我用的是bootcss(前端)+bottle(後台用python處理),**很簡單,就是過程有些複雜。由於傳遞的引數是乙個**,而後台判斷引數結束的標誌是/......./,所以每次都是傳值失敗,後來想到用先用base64加密再傳遞

webregx.py

import urllib2

import re

import json

def gethtml(url):

html = urllib2.urlopen(url).read()

return html

def getresult(url,reg):

html = urllib2.urlopen(url).read()

reg = re.compile(reg)

results = reg.findall(html)

if len(results)>0:

for result in results:

print result

else:

print "not result"

return json.dumps(results)

注意:最後要返回乙個json結構的資料

main.py

from bottle import route,request,template,run,bottle,static_file

from webregx import getresult

import base64

def show():

return template('templates/index')

def test(webstr):

#return "hello{}!".format(name)

#webstr = webstr.replace(',','?')

base64_url,base64_reg =webstr.split(",")

url=base64.decodestring(base64_url)#解密

reg=base64.decodestring(base64_reg)

return getresult(url,reg)

def send_static(filename):

return static_file(filename, root='./templates')

index.html

url

reg搜尋

place sticky footer content here.

查詢用的是ajax方式。

最後效果:

正規表示式解析

正規表示式,又稱正規表示式,常規表示式,是使用單個字串來描述.匹配一系列符合某個句法規則的字串,在很多文字編輯器中,正規表示式通常被用來檢索.替換那些符合某個模式的文字.正規表示式的語法可以自行搜尋,通常分為一下幾個方面 1 字元 可以使用普通字元匹配,例 a 使用預定義字元表示給定範圍中的某個字元...

正規表示式解析

string finalsql table23 select from table where id 10 matcher m pattern.compile a za z w a za z matcher finalsql if m.find 正規表示式實現的功能是實現分組,將finalsql的左...

正規表示式解析

string finalsql table23 select from table where id 10 matcher m pattern.compile a za z w a za z matcher finalsql if m.find 正規表示式實現的功能是實現分組,將finalsql的左...