我們正在嘗試從Urban Outfitters刮取產品,並且使用BeautifulSoup查找方法發現了一些奇怪的問題。我們在產品url上調用soup.find('span',{「class」:「mainPrice ng-scope ng-binding」})來獲取價格。在我們瀏覽產品網址時(通過網絡爬行),soup.find調用在隨機時間內不會返回任何內容。BeautifulSoup發現隨機返回無
例如,在程序的一次運行中,它在第二個鏈接上不返回任何值。當在沒有改變任何東西的情況下立即運行程序時,它通過了第二個鏈接並在第8個鏈接上失敗。 Here is a link to our output
下面是我們的代碼:
def findPrice(soup):
price = soup.find('span', {"class" : "mainPrice ng-scope ng-binding"})
print price
if price is not None:
return price.text.strip()
def postProduct(url):
driver.get(url)
html = driver.page_source
soup = BeautifulSoup(html, "html.parser")
product = {'brand': findBrand(soup), 'name': findProductName(soup), 'price': findPrice(soup), 'image': findImageLink(soup), 'description': findDescription(soup), 'url': url}
# products.insert(product)
需要注意的是無關緊要的功能已被排除在外。下面是我們稱之爲postProduct功能循環:
Link to the loop containing postProduct function
可以提供這個問題,將不勝感激任何幫助。