小白教程:Python爬取铁路12306
时间: 2023-11-05 22:54:37 浏览: 219
详解python 爬取12306验证码
铁路12306是中国铁路客户服务中心的官方网站,提供火车票购买、退票、查询等服务。如果你想使用Python爬取铁路12306的相关信息,你可以使用以下步骤:
1. 导入所需的模块:
```python
import requests
from bs4 import BeautifulSoup
import csv
```
2. 创建一个函数来检查链接是否可用:
```python
def check_link(url):
try:
r = requests.get(url)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
print('无法链接服务器!!!')
```
3. 创建一个函数来爬取铁路12306的数据:
```python
def get_contents(ulist, rurl):
soup = BeautifulSoup(rurl, 'html.parser')
# 根据具体的网页结构,使用BeautifulSoup提取所需的数据
# 并将数据存入ulist中
```
4. 创建一个函数来保存爬取的数据到CSV文件中:
```python
def save_contents(urlist):
try:
with open("data.csv", 'w', newline='') as f:
writer = csv.writer(f)
# 根据ulist的数据结构,将数据写入CSV文件中
except:
pass
```
5. 创建一个main函数来执行上述函数:
```python
def main():
urli = []
url = "http://www.maigoo.com/news/463071.html"
rs = check_link(url)
get_contents(urli, rs)
save_contents(urli)
```
这样,你就可以使用Python爬取铁路12306的相关信息了。
阅读全文