저는 학생 저널리스트이며 Python을 처음 사용합니다. 저는 for 루프를 사용하여 대학의 일일 범죄 기록의 모든 현재 페이지에서 개별 범죄 기록을 다 긁는 방법을 알아 내려고 노력했습니다. 그러나 첫 페이지 만 스크랩하고 있습니다. 나는 다른 사람들의 규범과 질문을보고 있었고 실제로 내가 누락 된 것이 무엇인지 알 수 없었다. 어떤 도움을 주셔서 감사합니다. 다른 사람의 예에 따라루프 파이핑과 파이썬을 사용하는 다중 페이지
는import urllib.request
import requests
import csv
import bs4
import numpy as np
import pandas as pd
from pandas import DataFrame
for num in range(27): #Number of pagers plus
url = ("http://police.psu.edu/daily-crime-log?field_reported_value[value]&page=0".format(num))
r = requests.get(url)
source = urllib.request.urlopen(url).read()
bs_tree = bs4.BeautifulSoup(source, "lxml")
incident_nums = bs_tree.findAll("div", class_="views-field views-field-title")
occurred = bs_tree.findAll("div", class_="views-field views-field-field-occurred")
reported = bs_tree.findAll("div", class_="views-field views-field-field-reported")
incidents = bs_tree.findAll("div", class_="views-field views-field-field-nature-of-incident")
offenses = bs_tree.findAll("div", class_="views-field views-field-field-offenses")
locations = bs_tree.findAll("div", class_="views-field views-field-field-location")
dispositions = bs_tree.findAll("div", class_="views-field views-field-field-case-disposition")
allCrimes = pd.DataFrame(columns = ['Incident#', 'Occurred', 'reported', 'nature of incident', 'offenses', 'location', 'disposition'])
total = len(incident_nums)
count = 0
while (count<total):
incNum = incident_nums[count].find("span", class_="field-content").get_text()
occr = occurred[count].find("span", class_="field-content").get_text()
repo = reported[count].find("span", class_="field-content").get_text()
incNat = incidents[count].find("span", class_="field-content").get_text()
offe = offenses[count].find("span", class_="field-content").get_text()
loca = locations[count].find("span", class_="field-content").get_text()
disp = dispositions[count].find("span", class_="field-content").get_text()
allCrimes.loc[count] =[incNum, occr, repo, incNat, offe, loca, disp]
count +=1