0
我有一個包含一個或多個表單的網頁。我想要做的是:無需提交即可獲取表單url - 使用Python
- 識別形式
- 發送POST請求,趕上響應。
我在第1點,我使用requests.get和Beautifulsoup來識別網頁中的表單。 我的問題是,我怎樣才能得到沒有提交表單的表單url?
例子:我會搜索「測試」上https://stackoverflow.com/
的URL看起來像這樣:https://stackoverflow.com/search?q=test
我很感興趣,讓這一部分:/搜Q,因爲其他網站在這些情況下有更復雜的網址,我想建立一個不依賴網站的刮板。
完整的代碼,我嘗試:
from bs4 import BeautifulSoup
import urllib.request
import requests
import mechanicalsoup
#### What?
search_words=['search1','search2']
website='http://www.website.com/'
####
s=requests.Session()
r=s.get(website)
soup_main = BeautifulSoup(r.content,'lxml')
form=soup_main.find('form')
print(form)
param={'searchword':search_words[0]}
method = str(form.get("method"))
print(method)
action =form.get("action")
url = urllib.parse.urljoin(website, action)
print(action)
request1=requests.Request(method,url,params=param)
它是窗體(可以是相對的)加上url編碼查詢(窗體數據)的動作。順便說一句,這隻適用於GET查詢。 –