実際のクリックが含まれていることは極めて重要ですか? PDF をダウンロードするだけの場合は、Requests ライブラリを使用することをお勧めします。Scrapy の使用を検討することもできます。
サイトでの検索に関しては、Fiddler を使用して HTTP POST 要求をキャプチャし、それを Python でレプリケートすることができます。
開始点として役立つ可能性のあるコードを次に示します。これらの関数はサーバーにログインし、ターゲット ファイルをダウンロードします。
def login():
login_url = 'http://www.example.com'
payload = 'usr=username&pwd=password'
connection = requests.Session()
post_login = connection.post(data=payload,
url=login_url,
headers=main_headers,
proxies=proxies,
allow_redirects=True)
def download():
directory = "C:\\example\\"
url = "http://example.com/download.pdf"
filename = directory + '\\' + url[url.rfind("/")+1:]
r = connection.get(url=url,
headers=main_headers,
proxies=proxies)
file_size = int(r.headers["Content-Length"])
block_size = 1024
mode = 'wb'
print "\tDownloading: %s [%sKB]" % (filename, int(file_size/1024))
if r.status_code == 200:
with open(filename, mode) as f:
for chunk in r.iter_content(block_size):
f.write(chunk)