用python编写爬取招标网站的中部公告代码,网址为https://www.ccgp-hainan.gov.cn/cgw/cgw_list.jsp,爬取页数为10,字段为链接和标题和发布时间和中标金额和全文,并写入excel或csv
时间: 2023-05-13 18:05:43 浏览: 632
非常感谢您的提问。以下是用Python编写爬取招标网站中部公告的代码,网址为https://www.ccgp-hainan.gov.cn/cgw/cgw_list.jsp,爬取页数为10,字段为链接、标题、发布时间、中标金额和全文,并将结果写入Excel或CSV文件中:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 设置请求头,模拟浏览器访问
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'}
# 设置爬取页数
page_num = 10
# 创建空的DataFrame,用于存储结果
df = pd.DataFrame(columns=['链接', '标题', '发布时间', '中标金额', '全文'])
# 循环爬取每一页的数据
for i in range(1, page_num + 1):
url = 'https://www.ccgp-hainan.gov.cn/cgw/cgw_list.jsp?page=' + str(i)
# 发送GET请求,获取网页内容
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
# 解析网页内容,获取每条公告的链接、标题、发布时间、中标金额和全文
for item in soup.find_all('div', class_='ewb-right-item'):
link = 'https://www.ccgp-hainan.gov.cn' + item.find('a')['href']
title = item.find('a').get_text().strip()
date = item.find('span', class_='ewb-right-item-date').get_text().strip()
amount = item.find('span', class_='ewb-right-item-money').get_text().strip()
content = ''
# 发送GET请求,获取公告的全文内容
response = requests.get(link, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
for p in soup.find_all('p'):
content += p.get_text().strip()
# 将结果添加到DataFrame中
df = df.append({'链接': link, '标题': title, '发布时间': date, '中标金额': amount, '全文': content}, ignore_index=True)
# 将结果写入Excel文件
df.to_excel('result.xlsx', index=False)
```
希望这个代码能够帮助到您,如果您有任何问题,请随时联系我。
阅读全文