<p>如果你想删除一些东西,最好先安装一个web调试器(例如,<a href="http://getfirebug.com/" rel="nofollow">Firebug</a>代表<a href="https://www.mozilla.org/en-US/firefox/new/" rel="nofollow">Mozilla Firefox</a>)来观察你想要删除的网站是如何工作的。在</p>
<p>接下来,您需要复制网站如何连接到backoffice的过程</p>
<p>正如您所说,您要废弃的内容是异步加载的(仅当文档准备好时)</p>
<p>假设调试器正在运行,并且您已经刷新了页面,您将在“网络”选项卡上看到以下请求:</p>
<p>后<a href="https://seahawks.strmarketplace.com/Charter-Seat-Licenses/Charter-Seat-Licenses.aspx" rel="nofollow" title="page">https://seahawks.strmarketplace.com/Charter-Seat-Licenses/Charter-Seat-Licenses.aspx</a></p>
<p>实现目标的最终流程是:</p>
<ul>
<li>1/使用<a href="http://docs.python-requests.org/en/master/" rel="nofollow">requests python module</a></li>
<li>2/打开索引页网站的请求会话(使用Cookie处理)</li>
<li>3/废弃特定POST表单请求的所有输入</li>
<li>4/构建一个POST parameter DICT,其中包含在上一步中废弃的所有输入和值字段+添加一些特定的固定参数。在</li>
<li>5/发布请求(带所需数据)</li>
<li>{6)像往常一样使用你的数据</li>
</ul>
<p>请参见以下工作代码:</p>
<pre><code>#!/usr/bin/env python
# -*- coding: UTF-8 -*-
from bs4 import BeautifulSoup
import requests
base_url="https://seahawks.strmarketplace.com/Charter-Seat-Licenses/Charter-Seat-Licenses.aspx"
#create requests session
s = requests.session()
#get index page
r=s.get(base_url)
#soup page
bs=BeautifulSoup(r.text)
#extract FORM html
form_soup= bs.find('form',{'name':'aspnetForm'})
#extracting all inputs
input_div = form_soup.findAll("input")
#build the data parameters for POST request
#we add some required <fixed> data parameters for post
data={
'__EVENTARGUMENT':'LISTINGS;0',
'__EVENTTARGET':'ctl00$ContentPlaceHolder$ctl00$ctl00$RadAjaxPanel_GV',
'__EVENTVALIDATION':'/wEWGwKis6fzCQLDnJnSDwLq4+CbDwK9jryHBQLrmcucCgL56enHAwLRrPHhCgKDk6P+CwL1/aWtDQLm0q+gCALRvI2QDAKch7HjBAKWqJHWBAKil5XsDQK58IbPAwLO3dKwCwL6uJOtBgLYnd3qBgKyp7zmBAKQyTBQK9qYAXAoieq54JAuG/rDkC1djKyQMC1qnUtgoC0OjaygUCv4b7sAhfkEODRvsa3noPfz2kMsxhAwlX3Q=='
}
#we add some <dynamic> data parameters
for input_d in input_div:
try:
data[ input_d['name'] ] =input_d['value']
except:
pass #skip unused input field
#post request
r2=s.post(base_url,data=data)
#write the result
with open("post_result.html","w") as f:
f.write(r2.text.encode('utf8'))
</code></pre>
<p>现在,请看一下“post”_结果.html“内容,你就会找到数据!在</p>
<p>问候</p>