url = 'https://***'
postdata = {
'username' : '***',
'password' : '***',
}
s = requests.session()
response = s.post(urls, data = postdata)
PS:星号换成你你实际的url和用户名密码
我比较喜欢用requests模块,这是第三方模块,需要自行安装。
安装方法如下:
C:\Users\Administrator>pip install requests
这个的关键是首先分析出post参数的值,我使用firefox的firebug插件的。
在分析完成具体的post参数后及其值后,就可以考虑传值了。
import requestsxfid = '12345678'
str1 = "/wEPDwUKMjEwMTA4MjU3NQ9kFgICAw9kFgICAQ9kFghmD2QWBAIBD2QWAgIBDw8WAh4EVGV4dAUMMTAxNjAwNDU0MjU4ZGQCAw9kFgICAQ8PFgIfAAUJ5pyx5a2U6IqzZGQCAQ9kFgICAQ9kFgICAQ8PFgIfAAV75Y+N5pig5p2R5Lmm6K6w5aSa5bm05p2l6Jma5oql5om/5YyF5Zyf5Zyw5pWw6YeP77yM5L615Y2g5Zyf5Zyw55u06KGl5qy+6Zeu6"
str2 = "/wAV4V4n0wgFZHr3diEzRKmoaXqxD1ZDMcXvMuQ4prcovBwlSwNy5xBFngPatMLuX4Obd5FfbMdfSobes="
url = 'http://*************/SZ_Result.aspx?infoid=' + xfid
data = {
'__EVENTTARGET': '',
'__EVENTARGUMENT': '',
'__LASTFOCUS': '',
'__VIEWSTATE': str1,
'__VIEWSTATEGENERATOR': '6FD494A2',
'__EVENTVALIDATION': str2,
'DropDownList1': '满意',
'DropDownList2': '满意',
'Button1': '提交',
'HiddenField1': xfid,
}
html = requests.get(url)
html_post = requests.post(url, data=data)
print 'DONE!!!!'
这样就完成post传值了。
上面的代码是示例代码,是不能够直接执行的。
下面这个程序是抓取网页的一个例子,MyOpener类是为了模拟浏览器客户端,并采用随机选取的方式以防网站将你认为是机器人。MyFunc函数抓取你指定的url,并提取了其中的href链接,图片的获取类似,一般是<img src=xxx>这样的形式,其他的功能应该也不难,去网上搜下应该有些例子。
import re
from urllib import FancyURLopener
from random import choice
user_agents = [
'Mozilla/5.0 (WindowsUWindows NT 5.1itrv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11',
'Opera/9.25 (Windows NT 5.1Uen)',
'Mozilla/4.0 (compatibleMSIE 6.0Windows NT 5.1SV1.NET CLR 1.1.4322.NET CLR 2.0.50727)',
'Mozilla/5.0 (compatibleKonqueror/3.5Linux) KHTML/3.5.5 (like Gecko) (Kubuntu)',
'Mozilla/5.0 (X11ULinux i686en-USrv:1.8.0.12) Gecko/20070731 Ubuntu/dapper-security Firefox/1.5.0.12',
'Lynx/2.8.5rel.1 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/1.2.9'
]
class MyOpener(FancyURLopener, object):
version = choice(user_agents)
def MyFunc(url):
myopener = MyOpener()
s = myopener.open(url).read()
ss=s.replace("\n"," ")
urls=re.findall(r"<a.*?href=.*?<\/a>",ss,re.I)#寻找href链接
for i in urls:
do sth.