[Python][爬蟲]如何爬取網頁中js生成的部分

這次想要爬取的是2017年汽車技術展會的參展廠商名單。

網頁長得像這樣, 擷取.PNG

在load網頁的時候可以發現,「AUTOMOTIVE WORLD」這個框框會比較慢才跑出來,(可以按重新整裡查看) 這時候就可以猜測網頁的這個部份是js生成的。

同樣的,使用右鍵「檢查元素」來查看在load這個網頁的過程發生了什麼事。

擷取.PNG

一般來說Network的第一個就會是我們要找的內容, 這裡是「Exhibitor/」,查看Headers的General, 擷取.PNG 可以發現就是url就是原本的頁面。

如果去抓取網頁,

url = "http://www.automotiveworld.jp/en/To-Visit/Exhibitor/"
res = requests.get(url)
print res.text.encode("utf-8")

會發現完全抓不到廠商名單的tag, 這就是因為, 那一個區塊是js另外生成的, 所以要去找另外生成的頁面。

回到「檢查元素」的Network, 看看有沒有什麼可疑對象, 擷取.PNG

這時候發現一個type是document的ExhiList, 點進去發現長得像這樣, 擷取.PNG

網址丟到網址列, 果然,就得到了我們要的部分了!

完整程式碼