环境准备
conda、python环境、requests库、beautifulsoup库、pycharm
HTML基础
表格
<table>是用来定义表格的标签,里面一般会嵌套和表格相关的元素。
<thead>表示表格的头部,一般是表格的第一行
<tbody>表示表格的主体
<tr> table row表格行
<td> table data 每一个单元格表示一项项数据
提取思路
- 首先提取1个项目,将项目编号、项目名称、建设内容等信息写到excel中。
- 提取一页中10个项目,写到excel中。
- 批量读取两页总计20个项目,写道excel中。
- 批量读取多页。
- 设置时间为截止条件,实现特定日期前项目信息的批量写入。
import requests
from bs4 import BeautifulSoup
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36"
}
response = requests.get("http://nmg.tzxm.gov.cn/tzsp/VDEdfsef.jspx", headers=headers)
print(response.status_code)
# # 测试
# if response.ok:
# print(response.text)
# else:
# print("请求失败")
content = response.text
soup = BeautifulSoup(content, "html.parser")
# 项目编码
firsttable = soup.find("table")
print(firsttable)
...