作者alubasteve (poorguy)
看板Python
標題[問題] 請問如何理解網頁結構以抓資料
時間Sat Apr 27 17:29:24 2019
版上各位先進大家好
我目前正在嘗試用BeautifulSoup抓資料
但我碰到一個問題
我的程式有試出來
但是我發現我不懂如何使用RSS看到網頁的XML版
這樣日後會造成很大的麻煩
舉例來說
我首先以YAHOO測試
https://tw.info.yahoo.com/rss/
然後以奇摩股市來當真正的目標
https://tw.stock.yahoo.com/rss/url/d/e/N2.html
因為我不知道如何看到XML版的資料
(原本書上可以,但我試不出來)
所以我反而是照著書嘗試出成果
https://pastebin.com/5503ppZs
所以我完全不知道第5行程式裡的item怎麼來的
我也有嘗試網頁+F12
但是也找不到item
而且在程式的結果中
底下各個文章的標題的標籤是<title>(例如第7行程式)
可是當我去看網頁時
卻是看到
https://imgur.com/a/MUi5Vnu
根本沒有出現title
所以我想請教
如何看到網頁的內容
來決定要抓網頁的那個相對應標籤
例如看XML檔案(其他方法亦可)
不然我以後要到別的網頁抓資料根本走不下去
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.225.194
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1556357368.A.0DD.html
1F:→ dododavid006: 你可以試著用 Python 內建的 urllib 或是如果你有 04/27 18:08
2F:→ dododavid006: request 也可以 去把你貼的那個網址抓下來後再存檔 04/27 18:08
3F:→ dododavid006: 開你抓下來的檔案應該就會看到 xml 了 04/27 18:09
4F:→ dododavid006: Yahoo 的網站有判斷你是不是用瀏覽器開 如果用瀏覽 04/27 18:10
5F:→ dododavid006: 器開你就會看到訂閱 rss 的說明 04/27 18:10
6F:→ alubasteve: 給dododavid006,多謝你的建議,我有去找資料 04/27 21:23
10F:→ alubasteve: 再者,我也想請教您如何把結果抓下來存檔 04/27 21:40
12F:→ dododavid006: 至於存檔也只是方便你用其它軟體讀而已 就只是開檔 04/27 23:32
13F:→ dododavid006: 再把內容寫進去而已 04/27 23:32
14F:→ dododavid006: with open("檔名.xml", "wb"): 04/27 23:32
15F:→ dododavid006: with open("檔名.xml", "wb") as f: # 更正 04/27 23:33
16F:→ dododavid006: f.write(urllib.request.urlopen("url").read()) 04/27 23:34
18F:→ vi000246: 用這個看就看得到xml格式了 你研究看看是什麼原因造成 04/27 23:51
19F:→ vi000246: 直接用browser跟用rss reader取回來的資料差異 04/27 23:52
20F:→ vi000246: 可能是某個表頭會讓response吐xml 另個表頭是吐回html 04/27 23:52
21F:→ vi000246: 你直接用rss xml python requests當關鍵字搜尋看看 04/27 23:53
22F:→ vi000246: 喔喔 一樓有解答了 04/27 23:53
23F:→ alubasteve: 給dododavid006,感謝你的協助,我照著打你給的程式 04/28 14:07
24F:→ alubasteve: 嘗試,後面就有出現一堆資料,但也因此我發現了新問題 04/28 14:08
25F:→ alubasteve: 出來的結果是網站的原始資料,所以不會出現中文名稱 04/28 14:09
26F:→ alubasteve: 而且結果是連續的出來,即使我轉貼到WORD而比較有結構 04/28 14:11
27F:→ alubasteve: 也依然沒有中文,包含我用vi000246給的網站也是如此 04/28 14:12
28F:→ alubasteve: 請問這是否代表這才是抓資料的常態,也就是要去猜欄位 04/28 14:13
29F:→ alubasteve: 因為我原本是想要讓抓取欄位資料匯出成檔案 04/28 14:14
30F:→ alubasteve: 例如WORD或是EXCEL,但這在那之前我要去懂如何猜欄位 04/28 14:15
31F:→ alubasteve: 與標籤之間的關係才行?請問兩位先進都是怎麼做的呢? 04/28 14:16
32F:→ alubasteve: 另外我也有試著用RSS閱讀器,但不知為何是這樣 04/28 14:17
34F:→ alubasteve: 並沒有出現檔案的網頁程式資料,請問我是挑錯軟體了嗎 04/28 14:20
35F:→ alubasteve: 還是我有地方不對,也想請教大家 04/28 14:21
36F:→ alubasteve: 感謝dododavid006+vi000246,總算試出成果了 04/28 18:49
38F:→ alubasteve: 另外還可以略做調整成這樣(前面已知跳過去) 04/28 18:59