我试图从一个网站刮大学的名称和地址:https://www.collegenp.com/2-science-colleges/,但问题是,我只得到了列表中的前11所大学的数据,而没有得到其他大学的数据.我已经尝试了我所知道的一切.但没有方法工作.
我的代码是:
from selenium import webdriver
import bs4
from bs4 import BeautifulSoup
import requests
import pandas as pd
from time import sleep
driver=webdriver.Chrome('C:/Users/acer/Downloads/chromedriver.exe')
driver.get('https://www.collegenp.com/2-science-colleges/')
driver.refresh()
sleep(20)
page=requests.get("https://www.collegenp.com/2-science-colleges/")
college = []
location=[]
soup= BeautifulSoup(page.content,'html.parser')
for a in soup.find_all('div',attrs={'class':'media'}):
name=a.find('h3',attrs={'class':'college-name'})
college.append(name.text)
loc=a.find('span',attrs={'class':'college-address'})
location.append(loc.text)
df=pd.DataFrame({'College name':college,'Locations':location})
df.to_csv('hell.csv',index=False,encoding='utf-8')
字符串
有没有什么方法可以让我把所有的数据都 * 出来?
1条答案
按热度按时间q35jwt9p1#
您可以使用此代码从下一页获取信息:
字符串
印刷品:
型
并保存
data.csv
(来自LibreOffice的屏幕截图):的数据