from selenium import webdriver
import time
from bs4 import BeautifulSoup as Soup
driver = webdriver.Firefox(executable_path='C:/Downloads//webdrivers//geckodriver.exe' )
a = 'https://www.amazon.com/s?k=Mobile&i=amazon-devices&page='.
for c in range(8)。
#a = f'https://www.amazon.com/s?k=Mobile&i=amazon-devices& page={c}'
cd = driver.get(a str(c))
page_source = driver.page_source
bs = Soup(page_source, 'html.parser')
fetch_data = bs.find_all('div'/span>, {'class'/span>: 's-expand-height.s-include-content-margin.s-latency-cf-section.s-border-bottom'})
for f_data in fetch_data:
product_name = f_data.find('span'/span>, {'class'/span>: 'a-size-medium.a-color-base.a-text-normal'})
print(product_name '
')
現在的問題是,Webdriver成功訪問了7個頁面,但沒有提供任何輸出或錯誤。
現在我不知道M在哪里出了問題。
如果您有任何建議,請參考提供該問題解決方案的文章,我們將隨時歡迎。
uj5u.com熱心網友回復:
你可以列印bs或fetch_data來除錯。
無論如何
在我看來,你可以使用requests或urllib來獲取page_source,而不是selenium
uj5u.com熱心網友回復:
你沒有選擇正確的div標簽來使用BeautifulSoup獲取產品,導致沒有輸出。
嘗試以下代碼段:-
#range of pages。
for i in range(1,20)。
driver.get(f'https://www.amazon.com/s?k=Mobile&i=amazon-devices&page={i}'/span>)
page_source = driver.page_source
bs = Soup(page_source, 'html.parser')
#get search results[/span]。
products=bs.find_all('div',{'data-component-type':"search-result"})
#for each product in search result print product name[/span].
for i in range(0,len(products))。
for product_name in products[i].find('span',class_="a-size-medium a-color-base a-text-normal") 。
print(product_name)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/328901.html
標籤:
上一篇:Ionic Fastlane|Android"錯誤:軟體包android.support.v4.content不存在"
