看板 Python 關於我們 聯絡資訊
最近在練習爬蟲 想爬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
TakiDog: 打開F12 切換到Network 按下XHR 你要的資料在那 09/01 22:42
chickengod: from selenium import webdriver 09/01 23:13
bdbddbdb: 用F12看你要的資料是怎麼出來的,真的不行就用selenium 09/02 22:09
alansyue: 找 api 看看 09/05 11:45
hakosaki: 有一隻 api 但好像要帶token之類的 09/08 11:05
aidansky0989: 建議你先寫網頁程式,連網頁都不會寫運維不用反爬, 09/14 13:58
aidansky0989: 你就不知道怎麼搞 09/14 13:58
aidansky0989: 前端對後端接口發ajax請求,返回的是json數據,json 09/14 13:59
aidansky0989: .loads(request.body.decode()) 09/14 13:59
ToastBen: requests-html可以render,若遇到ddos protection還是得 09/21 01:11
ToastBen: 靠selenium.webdriver 09/21 01:11