iT邦幫忙

0

python 網頁js跳轉處理問題

  • 分享至 

  • xImage

想請教前輩,https://www.comicabc.com/html/103.html
像這個網頁他是用應該是js跳轉網址,我想取得每一卷正確網址

我爬文並利用Network查詢內容,但用關鍵字研究很久,一片海中沒有思路
後續爬圖我都寫好了,但這邊一直卡住,能否請前輩指點個方向
https://ithelp.ithome.com.tw/upload/images/20221021/20154042tXVpmvrCD5.jpg

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
froce
iT邦大師 1 級 ‧ 2022-10-21 15:18:48
最佳解答

cview的原始碼,看起來應該可以組合成網址。

var baseurl="https://www.comicabc.com/";
var v=0;

function cview(url,catid,copyright)
{

var mid=url.split('-')[0];
var cch=url.indexOf('-')>=0?url.split('-')[1]:'1';
var chn=parseInt(cch.replace('.html',''));



////////////////////////////////////////////////////////


if(getCookie("CKVP") )
{
baseurl="/view/";v=1;
url=url.replace(".html","").replace("-",".html?ch=")
}
else if(typeof(rf)!='undefined'  && rf=='1' && typeof(rc)!='undefined' && rc!='')
{
var ru=typeof(ranurl)!='undefined'?ranurl:'/readcomic/';

// 這行組合出網址,其中變數rc、ranurl是全域變數,可以從網頁原始碼擷取到。
url=ru+mid+'/'+chn+'/'+chn+(rc+rc).substr((3*chn)%rc.length,10)+'.html';
baseurl="";
}
else
{
baseurl="/online/new-"
url=url.replace(".html","").replace("-",".html?ch=")
}

window.open(baseurl+url,"","");	
}

簡單的說,你只需要從原始碼中拿到下面三個

var rc="__R_FU4_LD9_7_3_Q_atq24_0rG73tIH1661__2K_z88vR_14Lu109nkcW6o1609JAHi9o_rD9A0_55_19NN_40RO2n32365_97K";
var rf="1";
var ranurl="/ReadComic/";

和網頁的路徑你就可以得到正確的看漫畫的網址了。
不過其實知道rc怎麼拿,去對比網址就能看出來了。

learn1018 iT邦新手 5 級 ‧ 2022-10-21 17:14:53 檢舉

大神,我很慚愧....這一段我看不太懂後續該怎麼做,請問有建議我該先去惡補些什麼嗎

froce iT邦大師 1 級 ‧ 2022-10-21 17:24:47 檢舉

自己去看你給的網址原始碼,看rc那個變數,然後比對看漫畫的網址,你就能得到答案了。

要寫爬蟲,基本上我都會說先去寫一個網站,你才能知道怎麼爬

0
熊熊工程師
iT邦研究生 1 級 ‧ 2022-10-21 12:07:38

用 selenium 直接點選 a 標籤吧,會快些,就算真的是用 js 執行跳轉 selenium 也可以幫你執行 javascript

我要發表回答

立即登入回答