A. 我打算用python去處理html的form表單,該怎麼實現
運用 web.py 框架
例如 index頁面有兩個輸入框
<form action='/index',method='post'>
<input type="text" name="name" id="name" />
<input type="text" name="pwd" id="pwd" />
</form>
那麼 在python 中
class index:
def GET(self, name):
inputall =web.input(name=None,pwd=None)
name= inputall.name
pwd= inputall.pwd
print print name ,pwd
def POST(self, name):
inputall =web.input(name=None,pwd=None)
name= inputall.name
pwd= inputall.pwd
print print name ,pwd
就得到了頁面提交的 name 和pwd
B. 用python flask製作的網頁上傳到伺服器後python如何獲取網上用戶提交的form表單信息
from flask import request
request.args 是get方法的form內容
request.form 是post方法的form內容
C. 求教如何通過python抓取網頁中表格信息
看你抓的是靜態還是動態的了,這里是靜態表格信息的代碼:
importurllib2
importre
importstring
defearse(strline,ch):
left=0
right=strline.find(ch)
whileright!=-1:
strline=strline.replace(ch,'')
right=strline.find(ch)
returnstrline
url=r"http://www.bjsta.com"
resContent=urllib2.urlopen(url).read()
resContent=resContent.decode('gb18030').encode('utf8')
soup=BeautifulSoup(resContent)
printsoup('title')[0].string
tab=soup.findAll('table')
trs=tab[len(tab)-1].findAll('tr')
fortrIterintrs:
tds=trIter.findAll('td')
fortdIterintds:
span=tdIter('span')
foriinrange(len(span)):
ifspan[i].string:
printearse(span[i].string,'').strip(),
else:
pass
D. Python怎麼通過html源代碼獲取表單中輸入框的name值
可以通過import xml.etree.ElementTree,通過方法parse(HTML)獲取根節點,再去find(輸入框的xpath 路徑)得到輸入框Element 對象,最後通過Element.get(key=name)方法去讀想要的屬性值。
E. 怎麼用python 編寫 得到本地網頁html中的表格
本地網頁?
如果是一般的網頁,表格是csv格式,或者txt格式,可以用pandas包讀取,舉例:如果是csv格式,這樣寫:
import pandas as pd
df = pd.read_csv('http:\\......') #表格所在的網址
df # 顯示表格數據
如果是txt格式的,把read_csv換成read_table就可以了。
F. 怎麼使用python來爬取網頁上的表格信息
稍微說一下背景,當時我想研究蛋白質與小分子的復合物在空間三維結構上的一些規律,首先得有數據啊,數據從哪裡來?就是從一個涵蓋所有已經解析三維結構的蛋白質-小分子復合物的資料庫裡面下載。這時候,手動一個個去下顯然是不可取的,我們需要寫個腳本,能從特定的網站選擇性得批量下載需要的信息。python是不錯的選擇。
import urllib #python中用於獲取網站的模塊
import urllib2, cookielib
有些網站訪問時需要cookie的,python處理cookie代碼如下:
cj = cookielib.CookieJar ( )
opener = urllib2.build_opener( urllib2.HttpCookieProcessor(cj) )
urllib2.install_opener (opener)
通常我們需要在網站中搜索得到我們需要的信息,這里分為二種情況:
1. 第一種,直接改變網址就可以得到你想要搜索的頁面:
def GetWebPage( x ): #我們定義一個獲取頁面的函數,x 是用於呈遞你在頁面中搜索的內容的參數
url = 'http://xxxxx/xxx.cgi?&' + 『你想要搜索的參數』 # 結合自己頁面情況適當修改
page = urllib2.urlopen(url)
pageContent = page.read( )
return pageContent #返回的是HTML格式的頁面信息
2.第二種,你需要用到post方法,將你搜索的內容放在postdata裡面,然後返回你需要的頁面
def GetWebPage( x ): #我們定義一個獲取頁面的函數,x 是用於呈遞你在頁面中搜索的內容的參數
url = 'http://xxxxx/xxx' #這個網址是你進入搜索界面的網址
postData = urllib.urlencode( { 各種『post』參數輸入 } ) #這裡面的post參數輸入需要自己去查
req= urllib2.Request (url, postData)
pageContent = urllib2.urlopen (req). read( )
return pageContent #返回的是HTML格式的頁面信息
在獲取了我們需要的網頁信息之後,我們需要從獲得的網頁中進一步獲取我們需要的信息,這里我推薦使用 BeautifulSoup 這個模塊, python自帶的沒有,可以自行網路谷歌下載安裝。 BeautifulSoup 翻譯就是『美味的湯』,你需要做的是從一鍋湯裡面找到你喜歡吃的東西。
import re # 正則表達式,用於匹配字元
from bs4 import BeautifulSoup # 導入BeautifulSoup 模塊
soup = BeautifulSoup(pageContent) #pageContent就是上面我們搜索得到的頁面
soup就是 HTML 中所有的標簽(tag)BeautifulSoup處理格式化後的字元串,一個標準的tag形式為:
hwkobe24
通過一些過濾方法,我們可以從soup中獲取我們需要的信息:
(1) find_all ( name , attrs , recursive , text , **kwargs)
這裡面,我們通過添加對標簽的約束來獲取需要的標簽列表, 比如 soup.find_all ('p') 就是尋找名字為『p』的 標簽,而soup.find_all (class = "tittle") 就是找到所有class屬性為"tittle" 的標簽,以及soup.find_all ( class = re.compile('lass')) 表示 class屬性中包含『lass』的所有標簽,這里用到了正則表達式(可以自己學習一下,非常有用滴)
當我們獲取了所有想要標簽的列表之後,遍歷這個列表,再獲取標簽中你需要的內容,通常我們需要標簽中的文字部分,也就是網頁中顯示出來的文字,代碼如下:
tagList = soup.find_all (class="tittle") #如果標簽比較復雜,可以用多個過濾條件使過濾更加嚴格
for tag in tagList:
print tag.text
f.write ( str(tag.text) ) #將這些信息寫入本地文件中以後使用
(2)find( name , attrs , recursive , text , **kwargs )
它與 find_all( ) 方法唯一的區別是 find_all() 方法的返回結果是值包含一個元素的列表,而 find() 方法直接返回結果
(3)find_parents( ) find_parent( )
find_all() 和 find() 只搜索當前節點的所有子節點,孫子節點等. find_parents() 和 find_parent() 用來搜索當前節點的父輩節點,搜索方法與普通tag的搜索方法相同,搜索文檔搜索文檔包含的內容
(4)find_next_siblings() find_next_sibling()
這2個方法通過 .next_siblings 屬性對當 tag 的所有後面解析的兄弟 tag 節點進代, find_next_siblings() 方法返回所有符合條件的後面的兄弟節點,find_next_sibling() 只返回符合條件的後面的第一個tag節點
(5)find_previous_siblings() find_previous_sibling()
這2個方法通過 .previous_siblings 屬性對當前 tag 的前面解析的兄弟 tag 節點進行迭代, find_previous_siblings()方法返回所有符合條件的前面的兄弟節點, find_previous_sibling() 方法返回第一個符合條件的前面的兄弟節點
(6)find_all_next() find_next()
這2個方法通過 .next_elements 屬性對當前 tag 的之後的 tag 和字元串進行迭代, find_all_next() 方法返回所有符合條件的節點, find_next() 方法返回第一個符合條件的節點
(7)find_all_previous() 和 find_previous()
這2個方法通過 .previous_elements 屬性對當前節點前面的 tag 和字元串進行迭代, find_all_previous() 方法返回所有符合條件的節點, find_previous()方法返回第一個符合條件的節點
具體的使用方法還有很多,用到這里你應該可以解決大部分問題了,如果要更深入了解可以參考官方的使用說明哈!
G. python 中如何獲取表單數據
使用Python訪問網頁主要有三種方式: urllib, urllib2, httplib urllib比較簡單,功能相對也比較弱,httplib簡單強大,但好像不支持session 1. 最簡單的頁面訪問 res=urllib2.urlopen(url) print res.read() 2. 加上要get或post的數據 data={"na...
H. python httpserver post獲取表單
一個。
創建方法如下:
1.首先登錄進入QQ,點擊右上+號,再點擊創建群聊。
2.如果已經有群聊了,則進入群聊,點擊右下+號,再點擊群課堂。
3.進入群課堂之後,點擊開始上課。
4.頁面彈出設置語音封面,點擊暫不設置。
5.頁面彈出開啟懸浮窗許可權,點擊去開啟。
6.把在其他應用上層顯示後面的按鈕點開。
7.之後頁面彈出上台開播,點擊確定。
8.點擊確定之後就可以上課直播了。
I. 如何用python獲取最簡單的一個html表單
如果你指的是,處理靜態(或動態)網頁,那麼可以參考下面這個代碼:
form = cgi.FieldStorage()
text = form.getvalue('name', 'default')
J. 不用web框架,怎麼通過python獲取網頁表單提交的數據,並傳入資料庫啊,求大佬們幫幫忙
你想自己實現 wsgi 還是使用 wigiref 模塊?你需要了解wsgi 基礎,所有表單數據 可以通過 wsgi 的入口函數中的參數 envrion['wsgi.input'] 獲取到
wsgi參考資料:
https://www.python.org/dev/peps/pep-3333/
https://pep-3333-wsgi.readthedocs.io/en/latest/