大神們好
目前利用Python撰寫一個網頁自動修改內容的設定,
但是遇到了一個瓶頸,不知道如何繼續前進的狀況(沒方向),
框架大概如下:
1.這個網頁用是".aspx"
2.網頁權限設定處,有一個欄位可以輸入編號查詢,點選查詢後才會出現該使用者的權限設定有哪些。
2-1.查詢出來後才會出現內容表格。
2-2.若要調整權限則用checkbox打勾or取消。
3.當查詢資料後,在表格最右方有一個"儲存",勾選欲開放之權限後,點擊儲存即可完成設定。
4.我希望不要透過Selenium這樣的瀏覽器模擬。
但是,上方的操作都是在同一個網址內完成,只是傳送的訊息略顯不同而已,想請問各位能否給個方向?謝謝。
相關畫面如下(因機敏關係內容調整處理)
POST?GET?
GET用PYTHON的REQUESTS就挺好用的,以下是我用來抓KISSRADIO本周排行榜歌單用的方法
在ubuntu server上實作
KISSRADIO發燒排行
import os
import sys
import requests
from lxml import html, etree
from urllib import parse
def kiss排行榜():
ret = list()
for kind in range(1, 4):
kiss = 'http://www.kiss.com.tw/music/billboard.php?a={0}'.format(kind)
resp = requests.get(kiss)
htree = html.fromstring(resp.text)
bbtr = htree.xpath("//table[@id='billboard']/tbody/tr")
for tr in bbtr:
tds = tr.xpath('./td')
if len(tds) >= 6:
名次 = tds[0].xpath('.//text()')[0]
歌名 = tds[1].xpath('.//text()')[0]
歌手 = ''
if len(tds[2].xpath('./a')) == 0:
歌手 = tds[2].text_content()
else:
歌手 = tds[2].xpath('./a')[0].text_content()
ret.append([名次, 歌名, 歌手])
return ret
抓下來的曲目我另有他用,不好明說(怕會被吉)
至於POST,也不難,先排除需登錄系統的狀況
url = 'http://www.wheretopost.com.tw/post'
d = {'key1': 'value1', 'key2': 'value2'}
r = requests.post(url, data=d)
print(r.text)
當個網頁爬蟲,還需學會如何分解對方給你的頁面(DOM XPATH),我小小秀了一下,畢竟不是所有網頁回傳給我的都是json或xml.....
剛剛執行的輸出結果
['1', '怨偶', 'MC熱狗-熱狗/艾怡良']
['2', 'Without You', '高爾宣']
['3', '斷了', '李玟']
['4', '你也有今天', '蔡依林']
['5', '巴別塔慶典', '吳青峰']....
是想要用 python 模擬網頁送出資料嗎
感覺一般的 http 操作就可以了吧
不過不知道這網頁的 data 是如何送的
也沒辦法舉例就是