關於利用 selenium 載入 Ettoday 次數問題
2020/05/27 下午 03:32
Python網路爬蟲討論版
許義翔
觀看數:28
回答數:2
收藏數:1
Hi,老師, 關於用 selenium 爬取 Ettoday 的資訊,我想用 browser 方式向下讀取 15 次的 Date,我在 for 迴圈設置了15次,但是不知道為什麼每次爬到第十次就會停下來,就不會再執行了?是哪邊出了問題嗎?還是有什麼限制?謝謝!
執行狀況: https://youtu.be/caayuJztv3w
import time
from bs4 import BeautifulSoup
from selenium import webdriver
browser = webdriver.Chrome(executable_path='chromedriver')
browser.get("https://www.ettoday.net/news/news-list.htm")
for i in range(15):
print(i+1)
time.sleep(random.randint(2, 5))
browser.execute_script("window.scrollTo(0, 10000);")
html_source = browser.page_source
soup = BeautifulSoup(html_source, "lxml")
for d in soup.find(class_="part_list_2").find_all('h3'):
print(d.find(class_="date").text, d.find_all('a')[-1].text)
回答列表
-
2020/05/27 下午 05:14張維元 (WeiYuan)贊同數:1不贊同數:0留言數:0
嗨,義翔你好
這是個好問題,主要原因是這一行:
```
window.scrollTo(0, 10000);
```
後面的意思代表將畫面下滑到 10000 的位置,這是一個絕對位置,前面可以一直動是因為整個畫面最底尚未達到 10000。但第十次以後已經到達到,因此無法再繼續往下。
如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃
-
2020/06/06 上午 00:32張維元 (WeiYuan)贊同數:0不贊同數:0留言數:0
請問義翔這個問題解決了嗎?後續有任何問題嗎?
如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃