批量爬取前瞻产业园库园区信息

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
分享
二维码
< <上一篇
下一篇>>