APIのウェブサイトから多くのページをウェブでスクレイピングしたいので、要素を読み込むのを待たなければなりません。しかし、time.sleep(5)は、次のページに瞬時にジャンプしているため、動作していません。なぜ私のtime.sleep(x)コードがpythonのdebianで動作しないのですか?
私は間違っていますか?
マイコード:
def scrape(urls):
browser = webdriver.Firefox()
datatable=[]
for url in urls:
browser.get(url)
time.sleep(5)
driver.find_element_by_xpath('//button[contains(text(), "Load earlier flights")]').click()
time.sleep(5)
html = browser.page_source
soup=BeautifulSoup(html,"html.parser")
table = soup.find('table', { "class" : "table table-condensed table-hover data-table m-n-t-15" })
soup2=BeautifulSoup(html,"html.parser")
name = soup2.h2.string
soup3=BeautifulSoup(html,"html.parser")
name2 = soup3.h1.string
soup4=BeautifulSoup(html,"html.parser")
name3 = soup4.h3.string
name4 = datetime.now()
for record in table.find_all('tr', class_="hidden-xs hidden-sm ng-scope"):
temp_data = []
temp_data.append(name4)
temp_data.append(name)
temp_data.append(name2)
temp_data.append(name3)
for data in record.find_all("td"):
temp_data.append(data.text.encode('latin-1'))
newlist = filter(None, temp_data)
datatable.append(newlist)
time.sleep(10)
browser.close()
return datatable
最初のURLは:seleniumが提供する明示的および暗黙の待機を使用し、time.sleep
を使用しないでください
を見つけることができます**同じ内容持つスープ(ヒントを、あなたがする必要はありません!) –
(time.sleep 'に頼る)'するページを待ちます完全に装填されたものはせいぜい脆弱である。 –
待っている要素などのより良い解決策がありますが、私のコードでtime.sleep()が動作しない理由に興味があります。 –