Что не работает
В CSV сохраняется только последняя * выбранная страница , а не все выбранные страницы.
Что работает
- Желаемый контент для одной страницы просто отлично попадает в CSV.
- Загрузка «следующей» страницы определенное количество раз.
Попытка / недоразумение
Я думал, что мог бы поместить код под for page in range(0, pages):
в цикл.Но это генерирует IndentationError.Я предполагаю, что мне нужно добавить каждую страницу, но я слишком нов, чтобы понять, как все соединить.Спасибо, что указали мне правильное направление.
Код, который выдает CSV последней загруженной страницы
import requests
from bs4 import BeautifulSoup
import csv
start = "http://awebsite.com/index.php?filter=&cur_page=0"
url = "http:/awebsite.comindex.php?filter=&cur_page={}"
soup = BeautifulSoup(requests.get(start).content)
pages = 2
for page in range(0, pages):
soup = BeautifulSoup(requests.get(url.format(page)).content)
table = soup2.find("table", class_ ="style10b")
output_rows = []
for table_row in table.findAll('tr'):
columns = table_row.findAll('td')
output_row = []
for column in columns:
output_row.append(column.encode_contents())
output_rows.append(output_row)
with open('output.csv', 'wb') as csvfile:
writer = csv.writer(csvfile)
writer.writerows(output_rows)