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/