【发布时间】:2019-03-18 12:41:31
【问题描述】:
import requests
from bs4 import BeautifulSoup
import csv
from datetime import datetime
r = requests.get('http://www.amazon.in/s/ref=nb_sb_noss_2?url=search-alias%3Daps&field-keywords=hp+laptops')
from bs4 import BeautifulSoup
soup = BeautifulSoup(r.text, 'html.parser')
results = soup.find_all('ul', attrs={'class':'class="s-result-list s-col-1 s-col-ws-1 s-result-list-hgrid s-height-equalized s-list-view s-text-condensed s-item-container-height-auto"'})
records = []
for result in results:
name = result.findAll('h2', attrs={'class':'a-size-medium s-inline s-access-title a-text-normal'}).text # result not results
price = result.findAll('span', attrs={'class':'a-size-base a-color-price s-price a-text-bold'}).text[13:-11]
records.append((name, price,))
with open('indd.xls', 'a') as csv_file:
writer = csv.writer(csv_file)
for name, price in records:
writer.writerow([name, price, datetime.now()])
【问题讨论】:
-
对于初学者:
print(records),你看到你应该看到什么了吗? -
for name, price in records:这超出了文件范围,注意它应该在里面缩进。 -
欢迎来到 Stack Overflow。请阅读Why is "Can someone help me?" not an actual question?
-
records返回空的[]。可能想先解决这个问题! -
我知道记录是 nil,但是如果您无法以某种方式解决记录问题,名称、价格将起作用,如果您可以提供编码形式,这对我来说会更容易。
标签: python web-scraping beautifulsoup amazon