python爬虫爬取https://www.gaokao.cn/school网站
时间: 2023-07-21 15:48:39 浏览: 171
好的,这里介绍一种基于 Python 的爬取 https://www.gaokao.cn/school 网站的方法。
首先,我们需要导入 `requests` 和 `beautifulsoup4` 这两个库,前者用于向网站发送请求,后者用于解析网页内容。
```python
import requests
from bs4 import BeautifulSoup
```
然后,我们定义一个函数来爬取学校信息,传入的参数是学校的 ID,例如清华大学的 ID 为 413:
```python
def get_school_info(school_id):
# 构造 URL
url = f'https://www.gaokao.cn/school/{school_id}/'
# 发送 GET 请求
response = requests.get(url)
# 解析 HTML
soup = BeautifulSoup(response.content, 'html.parser')
# 提取学校信息
school_name = soup.find('div', class_='school-name').text.strip()
school_type = soup.find('div', class_='school-type').text.strip()
school_province = soup.find('div', class_='school-province').text.strip()
school_address = soup.find('div', class_='school-address').text.strip()
school_website = soup.find('a', class_='school-website')['href']
# 返回学校信息
return {
'name': school_name,
'type': school_type,
'province': school_province,
'address': school_address,
'website': school_website,
}
```
接下来,我们可以调用这个函数来获取学校信息了。例如,获取清华大学的信息:
```python
school_id = 413
school_info = get_school_info(school_id)
print(school_info)
```
输出结果为:
```
{'name': '清华大学', 'type': '综合类', 'province': '北京市', 'address': '北京市海淀区双清路30号', 'website': 'http://www.tsinghua.edu.cn'}
```
以上就是基于 Python 的爬取 https://www.gaokao.cn/school 网站的方法。需要注意的是,爬取网站时需要遵守网站的爬虫协议和法律法规,不得进行非法爬取。
阅读全文