【发布时间】:2017-10-05 04:41:09
【问题描述】:
应用程序执行但范围不执行。在我的 CSV 文件中,它只显示第一个条目。在抓取其他字段时,我也遇到过索引超出范围的错误。任何帮助,将不胜感激。我在学。
import requests
import csv
from bs4 import BeautifulSoup
f = csv.writer(open('salons.csv', 'w'))
f.writerow(['Name'])
pages = []
for i in range(0, 10600):
url = 'http://www.aveda.com/locator/get_the_facts.tmpl?SalonID=' + str(i) +' '
pages.append(url)
for item in pages:
page = requests.get(item)
soup = BeautifulSoup(page.text, 'lxml')
salon_name_list = soup.find(class_='getthefacts__store_meta_info--store_phone')
salon_name_list_items = salon_name_list.find_all('li', class_='phone')
for salon_name in salon_name_list_items:
names = salon_name.contents[0]
f.writerow([names])
【问题讨论】:
-
for i in range(0, 10600):行上下的缩进不正确。即使for正确对齐,由于 url 没有缩进,它不在 for 循环内,所以 for 循环将自行运行,然后 uurl =将被调用 -
谢谢,马修。我的格式正确,但不知道如何将代码正确粘贴到此处。您是否发现任何其他可能导致问题的错误?
标签: arrays python-2.7 csv web-scraping beautifulsoup