前輩、老師好
後輩我是自學的語言新手
最近學了Python,希望更有成就感並開始學了爬蟲
目前想要爬取類似這樣的有多樣化選單的網頁
類似網站:台北研討會全球資訊網
看了一下原始碼,這樣算是使用javascript加載的網頁數據嗎
除了用selenium+phantomjs還有其他方法嗎
爬蟲的部分目前只玩到BS套件
selenium+phantomjs還學過,是想說看有沒有其他方案
如果未來我想要export成exe檔,用上述方式是可行的嗎
感謝前輩、老師的指導,如有需要補充的請告知。
嗨,這個的話可以用requests post
帶表單的參數給它就行了
直覺一點可以用selenuium
去點擊按鈕之後再取,像是:
from selenium import webdriver
from bs4 import BeautifulSoup
driver = webdriver.Firefox()
driver.get("http://www.taipei-seminar.com.tw/index.php")
driver.find_element_by_name('btnSearch').click()
source = driver.page_source
這樣你就可以取到點擊按鈕後畫面的html內容
再來就可以依照你要的去取值了
舉個簡單的例子,找出所有表格內的字:
soup = BeautifulSoup(source, 'lxml')
for td in soup.select('td'):
print(td.text)
其實再來就看你需要哪些內容,再去依照要的格式做解析囉!
希望有幫助到你!
啊啊,前輩謝謝你,原本想說是希望有人給我方向,自己去思考就好
沒想到連程式碼也寫出來了...XD
同問froce前輩的問題,關於基本知識有沒有大家比較公認應該學到哪裡就好,像我這樣的人會認為可能要全部學完才叫基本...
再次感謝~
爬蟲的話當然基礎的html元素架構要知道,再來像是HTTP請求之類的吧,python的話可以用學flask,寫個簡單的api、form表單頁面去理解觀念(你會發現你上面的網頁也有form表單,所以自己能夠寫了就會知道怎麼請求)。
我一開始也是從寫網頁開始(但沒有繼續深入)所以就像froce前輩說的寫爬蟲門檻有低一點。
像其實你這個問題可以用post
(python requests
)就能取到內容了不用用selenuium
(想說你發問的時候說有接觸)
那這個部分就給你自己去試試看了 加油!
每次看到人要學爬蟲,我都會直接叫人先去寫網頁。
把網頁搞通了,爬蟲通常都很容易上手,因為這只是一體兩面的東西。
但是網頁不懂,你要學爬蟲,HTML、JS等基礎知識你還是要會,不如就直接學寫網頁了。
你丟的這個網頁是很基本的後端rendering網頁,JS用的很少,連排版都還是用table去排,基本上用requests去爬就ok了,連selenium都用不到。
前輩謝謝拉
我只有先略懂一些HTML標籤的知識
另問前輩,如果就基本知識,能怎樣定義,因為我不知道要學到哪裡才叫做基本。
再次感謝
我也是python爬蟲初學者,這個線上教學我看了之後很有幫助,應該可以解決你的問題!
https://www.udemy.com/course/python-crawler/?referralCode=A4F2B9D20A2C35D5001D