问题

爬取“英为财情”网站中最活跃股票数据。
网站url:https://cn.investing.com/equities/most-active-stocks
爬取括号内指定6个热门数据(中国、中国香港、新加坡、美国、英国和德国),保存在excel的一个工作簿中,但要对不同的国家保存为不同的工作表。

打开网站后页面显示如下

网页分析

查看网页的源代码后发现股票名都在classleft bold plusIconTd elp的td下的a标签的text文本中

当我们选择新加坡的时候,URL变为https://cn.investing.com/equities/most-active-stocks?country=singapore

所以只需要修改?后面country的值既可以获得其它国家(地区)的股票数据。

步骤

一、获得请求头

使用审查元素功能可以简单的获得hostuser-agent

headers={'Host': 'cn.investing.com','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 Edg/84.0.522.40'

二、导入需要的库

#!/usr/bin/env python
# coding: utf-8import pandas as pd
import time
import requests
import openpyxl
from bs4 import BeautifulSoup

三、定义获取页面的函数

def get_page(url,params=None,headers=None,proxies=None,timeout=None):response = requests.get(url, headers=headers, params=params, proxies=proxies, timeout=timeout)print("解析网址:",response.url)page = BeautifulSoup(response.text, 'lxml')print("响应状态码:", response.status_code)return page

四、循环获得每个国家(地区)的股票

先将国家(地区)传入的参数放入列表中

countrys = ['china','hong-kong','singapore','uk','usa','germany'
]

因为防止工作表覆盖,所以先定义一个writer对象

writer = pd.ExcelWriter('stocks.xlsx')

根据之前的分析获取股票数据并将其保存到stocks.xlsx文件中。
每个国家(地区)对应一个工作表。
time.sleep(1)防止爬取太快导致被反爬

for country in countrys:url = 'https://cn.investing.com/equities/most-active-stocks'headers={'Host': 'cn.investing.com','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 Edg/84.0.522.40'}params={'country' : country}page = get_page(url,headers=headers,params=params)stocks = []stocks_list = page.find_all('td','left bold plusIconTd elp')for stock in stocks_list:stocks.append(stock.a.text)dataframe = pd.DataFrame({'股票':stocks})dataframe.to_excel(writer, sheet_name=country, header=None, index=False)time.sleep(1)writer.close()

完整代码

#!/usr/bin/env python
# coding: utf-8import pandas as pd
import time
import requests
import openpyxl
from bs4 import BeautifulSoupdef get_page(url,params=None,headers=None,proxies=None,timeout=None):response = requests.get(url, headers=headers, params=params, proxies=proxies, timeout=timeout)print("解析网址:",response.url)page = BeautifulSoup(response.text, 'lxml')print("响应状态码:", response.status_code)return pagecountrys = ['china','hong-kong','singapore','uk','usa','germany'
]writer = pd.ExcelWriter('stocks.xlsx')for country in countrys:url = 'https://cn.investing.com/equities/most-active-stocks'headers={'Host': 'cn.investing.com','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 Edg/84.0.522.40'}params={'country' : country}page = get_page(url,headers=headers,params=params)stocks = []stocks_list = page.find_all('td','left bold plusIconTd elp')for stock in stocks_list:stocks.append(stock.a.text)dataframe = pd.DataFrame({'股票':stocks})dataframe.to_excel(writer, sheet_name=country, header=None, index=False)time.sleep(1)writer.close()

Python爬取六国家(地区)最流行的股票并保存到excel的不同的工作表中相关推荐

  1. 利用xpath爬取链家租房房源数据并利用pandas保存到Excel文件中

    我们的需求是利用xpath爬取链家租房房源数据,并将数据通过pandas保存到Excel文件当中 下面我们看一下链家官网的房源信息(以北京为例) 如图所示,我们通过筛选得到北京租房信息 那么我们需要将 ...

  2. Python爬取新版猫眼Top100电影系列数据,并保存到csv文件

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...

  3. python爬取链家网的房屋数据

    python爬取链家网的房屋数据 爬取内容 爬取源网站 爬取内容 爬取思路 爬取的数据 代码 获取房屋url 获取房屋具体信息 爬取内容 爬取源网站 北京二手房 https://bj.lianjia. ...

  4. python爬房源信息_用python爬取链家网的二手房信息

    题外话:这几天用python做题,算是有头有尾地完成了.这两天会抽空把我的思路和方法,还有代码贴出来,供python的初学者参考.我python的实战经历不多,所以代码也是简单易懂的那种.当然过程中还 ...

  5. python关于二手房的课程论文_基于python爬取链家二手房信息代码示例

    基本环境配置 python 3.6 pycharm requests parsel time 相关模块pip安装即可 确定目标网页数据 哦豁,这个价格..................看到都觉得脑阔 ...

  6. python 爬取链家数据_用python爬取链家网的二手房信息

    题外话:这几天用python做题,算是有头有尾地完成了.这两天会抽空把我的思路和方法,还有代码贴出来,供python的初学者参考.我python的实战经历不多,所以代码也是简单易懂的那种.当然过程中还 ...

  7. 教你用python爬取王者荣耀英雄皮肤图片,并将图片保存在各自英雄的文件夹中。(附源码)

    教你用python爬取王者荣耀英雄皮肤图片,并将图片保存在各自英雄的文件夹中.(附源码) 代码展示: 保存在各自的文件夹中 美么? 让我们开始爬虫之路 开发环境 windows 10 python3. ...

  8. Python爬取链家成都二手房源信息

    作者 | 旧时晚风拂晓城 编辑 | JackTian 来源 | 杰哥的IT之旅(ID:Jake_Internet) 转载请联系授权(微信ID:Hc220066) 公众号后台回复:「成都二手房数据」,获 ...

  9. python爬取链家新房_Python爬虫实战:爬取链家网二手房数据

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 买房装修,是每个人都要经历的重要事情之一.相对于新房交易市场来说,如今的二手房交易市场一点也 ...

最新文章

  1. 【C 语言】文件操作 ( 读取文件中的结构体数组 | feof 函数使用注意事项 )
  2. 对官网vue事件修饰符串联的顺序如何理解?
  3. unity实现图片轮播效果_Unity实现图片轮播组件
  4. 经典排序算法(10)——基数排序算法详解
  5. MQTT和Java入门
  6. 【CSS3】 理解CSS3 transform中的Matrix(矩阵)
  7. theano 深度学习大全
  8. bzoj1048 [HAOI2007]分割矩阵
  9. 指数基金的正确购买姿势
  10. FlashPaper的安装以及基本使用
  11. 读取Java源文件中字段的注释当做Swagger的字段描述
  12. 实战——登陆注册管理后台
  13. html5 canvas绘制图形,html5 Canvas绘制图形入门详解
  14. 中文与unicode转换
  15. 两个PDF比较标出差异_PDF最全接触
  16. repo sync 报错error: apps/xx/: branch master is published (but not merged) and is now N commits behind
  17. Codeforces Round #655 (Div. 2)
  18. FCC JavaScript 算法和数据结构 正则表达式
  19. 今天小金子分享一下我从开始学习编程以来的感受
  20. 汉字怎么转换成十六进制

热门文章

  1. python生成泊松分布随机数_生成满足泊松分布的随机数,以及python实现
  2. cocos2d基础概念
  3. 如何画好一张架构图?
  4. android 卸载 广播,Android利用系统广播---监听应用程序安装和卸载
  5. Latex 字体整理
  6. html 在线预览pdf功能,html中在线预览pdf文件之pdf在线预览插件
  7. 张娅老师:人力资源管理不规范中小企业怎么破解
  8. 防雷接地,防雷接地工程综合应用方案
  9. qt 多重继承_Qt多重继承和信号
  10. 果粉福利 | 桌面个性推荐 热剧一眼便知(内含Widget配置流程)