【发布时间】:2020-08-07 20:05:56
【问题描述】:
当前脚本只允许我抓取一个页面,但我想从源 URL 抓取所有 5 个页面。如何循环/迭代剩余的 4 个页面?
#Import Libraries
from bs4 import BeautifulSoup
import requests
import csv
source = requests.get('https://www.sustainalytics.com/esg-ratings/?industry=Aerospace%20&%20Defense¤tpage=1').text
soup = BeautifulSoup(source, 'lxml')
#Start CSV
csv_file = open('aerospacedata_1.csv', 'w')
csv_writer = csv.writer(csv_file)
csv_writer.writerow(['company_name', 'company_exchange', 'company_risk'])
#Scrape Data from Web and write to csv
for company_info in soup.find_all(class_='company-row d-flex'):
company_name = company_info.a.text
company_exchange = company_info.find("small").text
company_risk = company_info.find("div", class_="col-2").text
print(company_name, company_exchange,company_risk)
csv_writer.writerow([company_name, company_exchange, company_risk])
csv_file.close()
输出:
company_name company_exchange company_risk
中国航电航空动力有限公司 SHG:600893 53.3
空客 SE PAR:AIR 30.3
Aselsan Elektronik Sanayi ve Ticaret AS IST:ASELS 31.6
中航飞机有限责任公司SHE:000768 54.4
中航沉阳飞机有限公司 SHG:600760 51.3
中航科工科技有限公司 HKG:2357 45.2
BAE Systems PLC LON:BA 34.3
庞巴迪公司 TSE:BBD.B 30
BWX Technologies, Inc. NYS:BWXT 42.3
CAE 公司 TSE:CAE 32.4
【问题讨论】:
标签: python loops web-scraping beautifulsoup