[問題] 爬取JS render網站

看板Python作者 (當場輾斃)時間4年前 (2020/09/01 22:14), 編輯推噓5(506)
留言11則, 7人參與, 4年前最新討論串1/1
最近在練習爬蟲 想爬104的頁面 但無奈遇到頁面是由JS render的(拿愛奇藝當範例) 目前code如下: import requests from bs4 import BeautifulSoup url = 'https://www.104.com.tw/company/1a2x6bkonm' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36', 'Referer': 'https://www.104.com.tw/company/1a2x6bkonm' } res = requests.get(url, headers=headers) soup = BeautifulSoup(res.text, 'lxml') print(soup) 無奈輸出後body只有 <div id="globalbar"> <div id="bar_m104"> <div id="global_bk"> 剩下全沒了 想請問要怎麼爬取這種類似網頁呢? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.164.3.112 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1598969663.A.D10.html

09/01 22:42, 4年前 , 1F
打開F12 切換到Network 按下XHR 你要的資料在那
09/01 22:42, 1F

09/01 23:13, 4年前 , 2F
from selenium import webdriver
09/01 23:13, 2F

09/02 22:09, 4年前 , 3F
用F12看你要的資料是怎麼出來的,真的不行就用selenium
09/02 22:09, 3F

09/05 11:45, 4年前 , 4F
找 api 看看
09/05 11:45, 4F

09/08 11:05, 4年前 , 5F
有一隻 api 但好像要帶token之類的
09/08 11:05, 5F

09/14 13:58, 4年前 , 6F
建議你先寫網頁程式,連網頁都不會寫運維不用反爬,
09/14 13:58, 6F

09/14 13:58, 4年前 , 7F
你就不知道怎麼搞
09/14 13:58, 7F

09/14 13:59, 4年前 , 8F
前端對後端接口發ajax請求,返回的是json數據,json
09/14 13:59, 8F

09/14 13:59, 4年前 , 9F
.loads(request.body.decode())
09/14 13:59, 9F

09/21 01:11, 4年前 , 10F
requests-html可以render,若遇到ddos protection還是得
09/21 01:11, 10F

09/21 01:11, 4年前 , 11F
靠selenium.webdriver
09/21 01:11, 11F
文章代碼(AID): #1VJbS_qG (Python)
文章代碼(AID): #1VJbS_qG (Python)