从工标网网站解析行业标准

#运行前,先删除data.csv文件
import requests
from bs4 import BeautifulSoup
import time
import pandas as pd

创建data_list空列表,用于存储网站解析出来的标准信息

data_list = []

从工标网网站http://www.csres.com/sort/industry.jsp查询不同行业标准的网址头

#url1 = “http://www.csres.com/sort/industry/002009_” #建筑工业标准网址头,目前共41页,1620条
url1 = “http://www.csres.com/sort/industry/002007_” #化工标准网址头,目前共128页,5102条
#url1 = “http://www.csres.com/sort/industry/002061_” #建筑材料行业标准网址头,目前共33页,1307条

从工标网网站http://www.csres.com/sort/industry.jsp查询不同行业标准的网址页面数量,生成url,便利所有url

for i in range(1,129): #结束值要比网页数量值+1
url = f"{url1}{i}.html"
#print(url)

#使用BeautifulSoup解析工标网网站,需要设置请求头
# 设置请求头,模拟浏览器访问
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
}
# 发送请求获取网页内容
response = requests.get(url, headers=headers)
html_content = response.text

# 使用BeautifulSoup解析网页
soup = BeautifulSoup(html_content, 'html.parser')
#print(soup)

# 找到对应的tr标签
tr_tags = soup.find_all('tr', attrs={'bgcolor': '#FFFFFF'})


# 提取各个单元格的文本内容,以列表形式存储

for tr_tag in tr_tags:
    data = []
    td_tags = tr_tag.find_all('td')
    data.append(td_tags[0].text.strip())
    data.append(td_tags[1].text.strip())
    data.append(td_tags[2].text.strip())
    data.append(td_tags[3].text.strip())
    data.append(td_tags[4].text.strip())

    data_list.append(data)

#打印显示data_list的内容
for item in data_list:
    print(item)

# 将data_list列表中内容,存储到csv文件中
column_names = ["标准编号", "标准名称", "发布部门", "实施日期", "状态"]
df = pd.DataFrame(data_list, columns=column_names)

# 等待页面加载完成,可根据实际情况调整等待时间
time.sleep(5)

#将df中的内容写入data.csv文件
df.to_csv(‘data.csv’, index = False, encoding=‘utf-8-sig’,mode = ‘a’)
print(df)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值