爬取选校帝2023USNEWS世界大学排名前100名,数据以csv文件保存
时间: 2023-08-26 13:04:12 浏览: 454
好的,我编写了以下Python爬虫程序来实现你的需求,代码如下:
```python
import requests
import csv
from bs4 import BeautifulSoup
def main():
url = 'https://www.usnews.com/education/best-global-universities/rankings'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
res = requests.get(url, headers=headers)
soup = BeautifulSoup(res.text, 'html.parser')
table = soup.find('table', class_='ranking-data-table')
rows = table.tbody.find_all('tr')
data = []
for row in rows[:100]:
cols = row.find_all('td')
rank = cols[0].text.strip()
name = cols[1].a.text.strip()
country = cols[2].text.strip()
data.append([rank, name, country])
with open('usnews_global_ranking_2023.csv', mode='w', encoding='utf-8', newline='') as file:
writer = csv.writer(file)
writer.writerow(['排名', '大学名称', '国家'])
writer.writerows(data)
print('数据已保存到usnews_global_ranking_2023.csv文件中')
if __name__ == '__main__':
main()
```
这个程序使用requests库来发送HTTP请求,使用BeautifulSoup库来解析HTML页面,并且使用csv库来将数据保存到csv文件中。程序会爬取选校帝2023USNEWS世界大学排名前100名的数据,并将数据保存到名为usnews_global_ranking_2023.csv的文件中。
阅读全文