爬取“新浪财经-股票-行情-北交所”的全部5页共200支股票数据,并将爬取的200条股票数据写入“csv文件。 要求:csv文件应包含表头,每行数据13列,python代码
时间: 2024-04-07 10:27:49 浏览: 22
好的,以下是Python代码实现:
```python
import requests
from bs4 import BeautifulSoup
import csv
# 设置请求头
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'}
# 定义要爬取的页数
pages = 5
# 定义CSV文件的表头
fields = ['股票代码', '股票名称', '最新价', '涨跌额', '涨跌幅', '买入', '卖出', '成交量', '成交金额', '今开', '昨收', '最高', '最低']
# 创建CSV文件并写入表头
with open('north_trade.csv', 'w', newline='', encoding='utf-8-sig') as f:
writer = csv.writer(f)
writer.writerow(fields)
# 循环爬取每一页的数据
for page in range(1, pages + 1):
# 构造请求URL
url = 'http://vip.stock.finance.sina.com.cn/q/view/newSinaHy.php?page=' + str(page) + '&num=20'
# 发送请求并获取响应内容
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.content, 'html.parser')
# 解析HTML内容并提取股票数据
data_list = []
for tr in soup.find_all('tr')[1:]:
td_list = tr.find_all('td')
if len(td_list) > 1:
data = [td.text.strip() for td in td_list]
data_list.append(data)
# 将股票数据写入CSV文件
with open('north_trade.csv', 'a', newline='', encoding='utf-8-sig') as f:
writer = csv.writer(f)
writer.writerows(data_list)
# 输出完成提示信息
print('爬取完成!数据已写入north_trade.csv文件。')
```
该代码会爬取新浪财经北交所行情的前5页数据,每页包含20条股票数据,共计200条数据。爬取到的数据会以CSV文件的形式保存在当前目录下的north_trade.csv文件中,在每条数据前都会有表头。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)