某公司与众中标公司关系图

# -*- coding: utf-8 -*-
"""
Created on Sun Dec  1 15:07:36 2019

@author: Administrator
"""

import networkx as nx
import matplotlib.pyplot as plt
from networkx import multigraph
import pandas as pd

mpl.rcParams["font.sans-serif"]=["SimHei"]  #正常显示中文
mpl.rcParams["axes.unicode_minus"]=False   # 正常显示负号


data = pd.read_csv(r'C:\Users\Administrator\Desktop\tongji.csv',encoding='gbk')

g = nx.Graph() 

g.add_node('北京铁路局')

a = data['name'][:19]
b = data['num'][:19]
for i in a:
    g.add_edge('北京铁路局',i)

plt.figure(figsize=(12, 8))
node_size = [i*300 for i in b]    
nx.draw(g, with_labels=True,encoding='utf_8_sig', node_size=node_size)

plt.savefig(r'C:\Users\Administrator\Desktop\path.png')    #存至本地


在这里插入图片描述

Python爬虫用于抓取网页信息非常常见,如果你想要从某个特定网站抓取某公司中标数据,通常需要遵循以下步骤: 1. **选择合适的库**: 使用如`requests`库来发送HTTP请求获取页面内容,`BeautifulSoup`或`lxml`库解析HTML,以及`pandas`进行数据清洗和存储。 2. **定位目标元素**: 需要分析网站结构,找出包含中标数据的部分,这通常是通过CSS选择器或XPath表达式找到对应的HTML元素。 3. **编写爬虫脚本**: 使用Python编写代码,首先发送GET请求获取HTML源码,然后解析出你需要的数据,比如公司名称、项目名称、中标金额等。 4. **处理异常和分页**: 网站可能会有反爬虫策略,如验证码、IP限制等,需要设置适当的延时和处理机制。如果数据分布在多页,还需要遍历并抓取所有相关页面。 5. **保存数据**: 将抓取到的数据存储到本地文件(CSV、JSON或数据库),以便后续分析或进一步处理。 示例代码片段(简化版): ```python import requests from bs4 import BeautifulSoup # 定义URL和目标元素选择器 url = 'https://example.com/project-list' selector = '#company-winners' def get_data(url): response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') # 查找并提取数据 winners = soup.select(selector) data_list = [] for winner in winners: company_name = winner.find('span', class_='company-name').text project_name = winner.find('h3', class_='project-title').text # 根据实际页面结构提取中标金额 contract_value = winner.find('div', class_='contract-value').text data_list.append({ 'company': company_name, 'project': project_name, 'value': contract_value }) return data_list data = get_data(url) # 存储数据 import pandas as pd df = pd.DataFrame(data) df.to_csv('company_wins.csv', index=False)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值