亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

向維基百科發送帖子請求

向維基百科發送帖子請求

蝴蝶刀刀 2023-11-09 21:43:26
我正在嘗試將數據發送到維基百科(基本上是嘗試將“python”一詞輸入維基百科搜索欄并打印內容)這是我嘗試過的:import requestspayload = {'family': 'wikipedia','language': 'en','search': 'python','language': 'en','go': 'Go'}with requests.Session() as s:    url = 'https://www.wikipedia.org/'    r = s.get(url)    r = s.post(url, data=payload)    print(r.content)但似乎不起作用這是我嘗試將數據發送到的網站: https: //www.wikipedia.org/
查看完整描述

1 回答

?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

如果您只想通過將 python 提交到維基百科搜索欄來獲取內容,則無需創建發布請求。一個簡單的 get 請求就可以正常工作:

search_term = "python"response = requests.get(f'https://en.wikipedia.org/wiki/{search_term}')print(response.content)

因此,回答您剩下的問題:

我將使用帖子請求進行登錄等,所以我想通過帖子請求進行學習

GET,,, HTTP請求是服務器端POST實現。它們并不神奇地存在于一切事物中。因此,如果維基百科決定不在搜索欄中提出搜索請求,那就太糟糕了。您不能用于進行搜索。您將不得不使用其他方式進行搜索,無論它們支持什么(從我的測試來看似乎是通過請求)PUTDELETE UPDATEPOSTPOSTGET

因此,即使他們可能實現POST登錄(正如他們應該的那樣),但并非所有內容都一定有關聯的POST請求。

我不能使用 post 來自動化它,比如登錄和按下按鈕,就像 selenium 所做的那樣

有點。您可以使用 HTTP 請求進行與單擊按鈕時相同的 HTTP 調用。但這與單擊按鈕并不完全相同,因為單擊按鈕仍然可以在網絡瀏覽器中在幕后執行許多其他操作。并且并非每個按鈕 HTTP 調用都必然是一個POST請求。

但除此之外,即使您使用 Selenium 在 Wikipedia 中進行搜索,它最終仍然會成為一個GET請求,因為 Wikipedia 改變了搜索的工作方式(至少基于您發布的內容)。他們要求搜索需要GET請求,因此您必須提出GET請求。

POSTTLDR:過去可能是可行的,但現在已經不可能了,因為這是維基百科做出的決定。


查看完整回答
反對 回復 2023-11-09
  • 1 回答
  • 0 關注
  • 150 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號