iT邦幫忙

1

如何使用python爬蟲獲得按鈕的連結?

TC 2021-03-11 17:38:222994 瀏覽

最近公司要求我們幫忙蒐集展覽客戶公開聯絡名單,內容有上百筆,實在不想一筆一筆複製,本來用爬蟲得到了幾乎所有資料,但唯獨email是以按鈕的方式呈現,測試了一下,像是回傳的值才丟到mail裡面。

想請問各位板友能給一點點意見嗎??

圖片:
https://ithelp.ithome.com.tw/upload/images/20210311/201305319juWs09t0i.jpg
先行拜託及感謝各位了。

附上網站網址:http://business.com.tw/com/com.asp?id=2i4zh59i8zopr8y

看更多先前的討論...收起先前的討論...
雷伊 iT邦高手 1 級 ‧ 2021-03-11 18:36:25 檢舉
可否提供你們家的Public IP?我要通知工程師群將所管理的防火牆把你家拉黑。
用request打那一個form表單,就可以了
player iT邦大師 1 級 ‧ 2021-03-11 23:07:40 檢舉
網頁裡的表單只有這樣
<form method="post" action="/scripts/mail.asp"><input type="hidden" name="midd" value="0014196"><input type="submit" value="電子郵件"></form>
所以看起來是表單post到WebServer端再做http檔頭轉址去通知瀏覽器處理mailto的
所以你沒辦法直接抓到email
TC iT邦新手 5 級 ‧ 2021-03-12 09:56:50 檢舉
非常感謝各位的協助,我在慢慢測試看看!!
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
japhenchen
iT邦超人 1 級 ‧ 2021-03-12 07:22:07

用selenium 去模擬網頁的行為,再抓回傳值
http://www.tastones.com/zh-tw/tutorial/python-selenium/selenium-click-button/

或你用requests去post那個mail.asp,送出的資料就是你從頁面上抓來的{"midd":"0014196"},就會得到一個回傳form,再去解析它應該就對了

TC iT邦新手 5 級 ‧ 2021-03-12 09:57:26 檢舉

感謝大師的賜教,我會再繼續研習測試的!!

1
海綿寶寶
iT邦大神 1 級 ‧ 2021-03-12 09:49:21

1.取得原始碼如下

<form method='post' action='/scripts/mail.asp'><input type=hidden name='midd' value='0014196'><input type='submit' value='電子郵件' ></form>

2.POSTmidd=0014196http://business.com.tw/scripts/mail.asp得到以下結果

<script language="JAVASCRIPT">
	location.href='mailto:jamess.hsu@msa.hinet.net?subject= Business Express&body=* Infomation from http://business.com.tw *';
history.back();
</script>

<script language="JAVASCRIPT">
	history.back();
</script>

3.再從其中剖析出 mailto 後面的電郵地址
4.收工放飯
/images/emoticon/emoticon71.gif

TC iT邦新手 5 級 ‧ 2021-03-12 09:57:53 檢舉

我昨天有測試過這個方法,可能我的寫法上有錯,我會在試試看的。

我要發表回答

立即登入回答