使用request爬取http://data.eastmoney.com/hsgtcg/list.html网页的所有内容并保存在excel表中
时间: 2023-12-20 12:04:08 浏览: 266
好的,首先需要安装一些依赖包,包括`requests`、`beautifulsoup4`和`openpyxl`。你可以在终端中使用以下命令来安装:
```
pip install requests beautifulsoup4 openpyxl
```
然后,我们可以使用`requests`库来获取网页的内容,再使用`beautifulsoup4`库来解析网页中的内容,最后使用`openpyxl`库将数据保存到Excel表中。下面是代码实现:
```python
import requests
from bs4 import BeautifulSoup
import openpyxl
# 获取网页内容
url = 'http://data.eastmoney.com/hsgtcg/list.html'
res = requests.get(url)
res.encoding = 'utf-8'
html = res.text
# 解析网页内容
soup = BeautifulSoup(html, 'html.parser')
table = soup.find('table', class_='tab1')
rows = table.find_all('tr')
# 创建Excel表格
workbook = openpyxl.Workbook()
worksheet = workbook.active
worksheet.title = '沪股通持股'
# 写入表头
header = ['序号', '股票代码', '股票名称', '持股数量', '持股市值(万元)', '占流通股比例', '占总股本比例', '持股变化']
for col_num, column_title in enumerate(header, 1):
cell = worksheet.cell(row=1, column=col_num)
cell.value = column_title
# 写入数据
row_num = 2
for row in rows:
cols = row.find_all('td')
if len(cols) == 0:
continue
data = [col.text.strip() for col in cols]
for col_num, cell_value in enumerate(data, 1):
cell = worksheet.cell(row=row_num, column=col_num)
cell.value = cell_value
row_num += 1
# 保存Excel表格
workbook.save('沪股通持股.xlsx')
print('数据保存成功!')
```
运行以上代码后,会在当前目录下生成一个名为`沪股通持股.xlsx`的Excel表格,里面包含了网页上的所有数据。
阅读全文