1.首先要导入几个模块

import requests
import pandas as pd
import re
import time
import random
from sqlalchemy import create_engine

2.要想爬取一个网页之前要先了解这个网页的源代码,按F12进入开发者工具,得到如下界面:

找到要爬取的网页的真实页面,可以看到要爬取的数据就在里面。点开Headers可以看到Request URL,所以这个网址就是要爬取的数据的网址。同时pn也代表页数,所以如果想要获取多页的数据,可以写一个for循环。

3.下面就开始进行数据的爬取。

#构造请求头,这里在爬虫中添加字典类型的请求头headers的目的是为了将python伪装成一个真实的浏览器,进而促使被访问的网站将python当作一个正常的访问用户。代码如下

headers={
'Accept': '*/*',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.9',
'Connection': 'keep-alive',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36' 
}

#生成需要抓取的链接,代码如下

urls=[]
for pz in range(1,50):
    urls.append('http://data.eastmoney.com/zjlx/detail.html')

#循环并通过正则匹配获取相关数据

info=[]
for url in urls:
    seconds=random.randint(3,6)
    response=requests.get(url,headers=headers).text
    a=re.findall("f12:'(.*?)'",response)
    b=re.findall("f14:'(.*?)'",response)
    c=re.findall("f2:'(.*?)'",response)
    d=re.findall("f3:(.*?)",response)
    e=re.findall("f62:'(.*?)',",response)
    f=re.findall("f184:'(.*?),'",response)
    g=re.findall("f66:'(.*?)',",response)
    h=re.findall("f69:'(.*?)',",response)
    i=re.findall("f72:'(.*?)',",response)
    j=re.findall("f75:'(.*?)',",response)
    k=re.findall("f78:'(.*?)',",response)
    l=re.findall("f81:'(.*?)',",response)
    m=re.findall("f84:'(.*?)',",response)
    n=re.findall("f87:'(.*?)',",response)
    info.append(pd.DataFrame({'代码':a,'名称':b,'最新价':c,'涨跌幅':d,'主力净流入-净额':e,
                              '主力净流入-净占比':f,'超大单净流入-净额':g,'超大单净流入-净占比':h,
                              '大单净流入-净额':i,'大单净流入-净占比':j,'中单净流入-净额':k,
                              '中单净流入-净占比':l,'小单净流入-净额':m,'小单净流入-净占比':n}))
    time.sleep(seconds)
这里设置在爬虫的循环中随机停顿几秒,目的是为了减轻被访问网站的流量压力,否则单机在一秒内访问对方十几次甚至上百次,会消耗对方很多资源。也为了防止被访问的网站对爬虫代码实施反爬举措。

#将存储的所有股票数据进行合并,生成数据表格

eastmoney=pd.concat(info)

#最后将数据写到mysql数据库中

connect=create_engine('mysql+pymysql://root:root@localhost:3306/test?charset=utf-8')
pd.io.sql.to_sql(eastmoney,connect,schema='test',if_exists='append')

python爬虫学习爬取股票数据相关推荐

  1. 初识Python爬虫----如何爬取网络数据

    一.什么是网络爬虫 即爬取网络数据的虫子,也就是Python程序. 二.爬虫的实质是什么? 模拟浏览器的工作原理,向服务器发送请求数据. 三.浏览器的工作原理是什么? 浏览器还可以起到翻译数据的作用. ...

  2. 爬虫练习--爬取股票数据

    爬取股票数据 步骤 从东方财富网找到上市公司的股票代码并保存 根据股票代码去百度股市通去查找相关股票的具体信息并保存 代码 #-*- coding:utf-8 -*- import requests ...

  3. 【Python爬虫】爬取大量数据网络超时的解决思路

    问题 在爬取大量数据的过程中,有时没有注意,会出现网络超时,结果也不知道爬到了哪里,重新爬一遍代价太大. 解决思路 目前提供解决思路,实践之后补充示例代码. 思路一 1.设置超时处理,超过时间返回异常 ...

  4. Pycharm + python 爬虫简单爬取网站数据

    本文主要介绍简单的写一个爬取网站图片并将图片下载的python爬虫示例. 首先,python爬虫爬取数据,需要先了解工具包requests以及BeautifulSoup requests中文文档:ht ...

  5. 【python爬虫】爬取网站数据,整理三句半语料数据集

    因为目前没有公开的三句半语料库,所以在网络上爬取一些网站上公开的三句半数据. 主要分为两部分: 目录 爬取数据 清洗数据 爬取数据 以爬取 http://p.onegreen.net/JuBen 上的 ...

  6. python爬取网页内容_你以为Python爬虫只能爬取网页数据吗?APP也是可以的呢!

    摘要 大多数APP里面返回的是json格式数据,或者一堆加密过的数据 .这里以超级课程表APP为例,抓取超级课程表里用户发的话题. 1 抓取APP数据包 方法详细可以参考这篇博文:http://my. ...

  7. 【python爬虫】爬取ajax数据-马蜂窝旅游网

    10-爬取ajax数据-马蜂窝旅游网 目标 马蜂窝旅游网-广州全部景点 地址:https://www.mafengwo.cn/jd/10088/gonglve.html 分析 网站分析: 打开目标网页 ...

  8. 爬虫学习——爬取台风数据存入数据库

    最近因为某些需求需要台风数据的数据库,因此想利用python写一个相关的程序~ 因为台风的数据77年之前是没有风圈等数据,所以台风在77年前只有一张数据表,在77年之后多了一张关于风圈风力的表.但是我 ...

  9. 【python+xpath】爬取股票数据(尝鲜版)(可多支股票一并查询)

    这次用到的网站是股城网 使用格式很简单,在 https://hq.gucheng.com/ 后加股票代码即可 注意:股票代码前需要加上SH(上海)或SZ(深圳) 不然404等着你 # https:// ...

  10. 知识星球《玩转股票量化交易》之 爬虫爬取股票数据

    量化交易是一个多技术综合的项目,学习完书籍<Python股票量化交易从入门到实践>我们再次升级学习的内容--知识星球<玩转股票量化交易> 在星球中我们会深入分享包括Python ...

最新文章

  1. C#线程同步的几种方法
  2. ROUTEROS基本命令
  3. Python---编写一函数 Fabonacci(n),其中参数 n 代表第 n 次的迭代。
  4. oracle--number
  5. 定制 cobbler TITLE 信息
  6. 找不到libmmd.dll无法继续执行代码_代码中的软件工程 - xieyupei
  7. ubuntu系统下hbase数据库的安装和使用,hbase配置文件详解
  8. ubuntu12.04升级svn到 1.7
  9. 一、配置etcd数据库
  10. cad图纸批量转换pdf
  11. VMware Workstation虚拟机备份及磁盘空间回收
  12. DOTween的使用
  13. python 美团api接口对接_美团券对接API文档
  14. 解义盼:比特大陆大规模裁员,资本的寒冬到了?
  15. 2020保研夏令营——无科研无竞赛的夏令营之旅
  16. 院士给自己博士生写的一封信:博士生每天工作12小时只是一个下限
  17. 媒体查询 iPad 竖屏
  18. Android自定义控件系列二:自定义开关按钮(一)
  19. linux内核 sp什么意思,浅析基于ARM的Linux下的系统调用的实现
  20. Python爬虫——Scrapy框架

热门文章

  1. openstack neutron网络插件学习(二)【linux-bridge实现】
  2. arduino uno + 舵机 + dht11 + 杜邦线 + usb + 面包板 测温度 控制舵机运动
  3. 什么是实体关系图(ERD)?
  4. 我建议你自己写一个疫情数据监控
  5. 大话转岗 PHP 开发小结
  6. 记录一下blender烘焙光照漫反射贴图
  7. Revel框架的搭建与部署教程
  8. Python自动化办公 | 用Python自动生成数据日报
  9. 2019/04/05 腾讯笔试 后台及综合卷(java)
  10. 一场无名的宿醉,失措了一夜的安然。