批量爬取前瞻产业园库园区信息
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 创建一个空的列表来存储所有页的数据
all_data = []
# 遍历每一页的URL
for page_num in range(1, 22): # 假设有20页数据
# 构建当前页的URL
url = f'https://y.qianzhan.com/yuanqu/diqu/110108/?pg={page_num}'
# 发送 HTTP 请求获取当前页的网页内容
response = requests.get(url)
html_content = response.text
# 使用 BeautifulSoup 解析 HTML
soup = BeautifulSoup(html_content, 'html.parser')
# 找到表格中的每一行数据
table_rows = soup.find_all('tr')
# 遍历每一行,提取数据并添加到列表中
for row in table_rows:
row_data = []
# 找到当前行中的每个单元格
cells = row.find_all('td')
for cell in cells:
# 提取单元格中的文本内容
cell_text = cell.get_text(strip=True)
# 将文本内容添加到当前行的数据列表中
row_data.append(cell_text)
# 如果当前行有数据,则将其添加到整个数据列表中
if row_data:
all_data.append(row_data)
# 将所有页的数据列表转换为 DataFrame
df = pd.DataFrame(all_data[1:], columns=all_data[0])
# 将 DataFrame 写入 Excel 文件
excel_filename = 'output.xlsx'
df.to_excel(excel_filename, index=False)
print('数据已成功写入 Excel 文件:', excel_filename)
由于所取数据包含所有类型的园区,故此处利用python对于所得数据作进一步筛选
import pandas as pd
# 读取 Excel 文件
excel_file = r'C:\Users\86191\Desktop\龙圆芝\海新域\海淀区所有园区.xlsx'
df = pd.read_excel(excel_file)
# 过滤掉园区名列中含有指定关键词的行
keywords_to_exclude = ['创意园', '环保园', '物流港', '生态园','广场','宾馆','大厦']
filtered_df = df[~df['园区名'].str.contains('|'.join(keywords_to_exclude))]
# 删除重复值(根据园区名)
filtered_df = filtered_df.drop_duplicates(subset=['园区名'])
# 将过滤后的数据保存到新的 Excel 文件中
output_excel_file = r'C:\Users\86191\Desktop\龙圆芝\海新域\海淀区所有园区_过滤且去重后.xlsx'
filtered_df.to_excel(output_excel_file, index=False)
print('已将过滤且去重后的数据保存到 Excel 文件:', output_excel_file)
1
版权声明:
作者:夜阑
链接:http://yelan.xyz/index.php/2024/04/01/%e6%89%b9%e9%87%8f%e7%88%ac%e5%8f%96%e5%89%8d%e7%9e%bb%e4%ba%a7%e4%b8%9a%e5%9b%ad%e5%ba%93%e5%9b%ad%e5%8c%ba%e4%bf%a1%e6%81%af/
来源:夜阑的小站
文章版权归作者所有,未经允许请勿转载。
THE END
二维码
共有 1 条评论