网站建设黄页在线免费怎么开网店不用自己发货囤货的
- 学习爬取同花顺行情中心股票信息,分析如下:
 
1、打开http://http://www.10jqka.com.cn/
 2、按F12,选择“Network–>XHR”,进入“行情中心”,网址无变化,表示不是普通的静态html,是动态加载数据。
3、进入第2页、第3、4、5页,连续出现“1/”,应该是我需要的真实网址,点击进一步分析。
 4、分析“Request URL: “http://q.10jqka.com.cn/index/index/board/all/field/zdf/order/desc/page/2/ajax/1/”,是GET请求,先打开该网址,发现正是需要的行情数据。
5、进一步分析发现,第1-5页网址中,除了“page/*/”由1至5变化,其他不变,这就是要找的页码了,只要设置页码就能实现翻页:共计188页,拟使用for i in range(1,189),设置page_id = str(i)。
6、打开新网址,查看源代码,股票行情信息处于“ ”标签下,每一个“”就是一支股票信息,“”的文本就是具体的数据:代码、名称、现价、涨跌幅(%)、 涨跌、涨速(%)、换手(%)、量比、振幅(%)、成交额、流通股、流通市值、市盈率。
7、使用XPath语法或bs4可以很方便的提取我需要的数据,就用新学习的bs4:
 soup=BeautifulSoup(text, ‘lxml’)
 trs = soup.select(‘tbody tr’)
 再用循环语句提取里的代码、名称等字段文本信息
 8、个股详情链接:经分析,真实网址为”http://d.10jqka.com.cn/v2/realhead/hs_603335/last.js“,其中603335为股票代码,只要替换它就能获取不同股票的数据为json格式(本次只取部分数据,要获取其他数据方法是一样的。
 如下是一获取"天华超净"的一部分数据,也可以多增加网址”http://…js"以“.js结尾获取更多数据:
 {
 5: “300390” 代码
 6: “8.20” 昨收
 7: “8.23” 今开
 8: “9.02” 最高
 9: “8.23” 最低
 10: “9.02” 现价
 12: “1”
 13: “22511127.00” 成交量
 14: “11645775.00” 外盘
 15: “9663852.00” 内盘
 17: “30300.00”
 19: “198465440.00” 成交额
 22: “”
 23: “”
 24: “9.02” 买一价
 25: “7306365.00” 买一量
 30: “” 卖一价
 31: “0.00” 卖一量
 . 37: “-1”
 38: “-1”
 39: “-1”
 49: “2500.00” 现手
 51: “”
 66: “”
 69: “9.02” 涨停
 70: “7.38” 跌停
 74: “”
 75: “”
 85: “”
 90: “”
 92: “”
 95: “”
 96: “”
 127: “”
 223: “27520620.00” 大单流入
 224: “13492643.00” 大单流出
 225: “30066935.00” 
 226: “13791431.00” 
 237: “25665770.00” 小单流入
 238: “28728570.00” 小单流出
 254: “”
 259: “32501083.00” 中单流入
 260: “26670430.00” 中单流出
 271: “-1”
 273: “-1”
 274: “”
 276: “”
 277: “”
 278: “”
 402: “551276000.00”
 407: “338655776.00”
 2942: “79.189” 市盈率(动)
 134152: “79.189” 市盈率(动)
 199112: “10.00” 涨幅
 264648: “0.820” 上涨金额
 395720: “7495865.000” 委差
 461256: “100.000” 委比
 526792: “9.634” 振幅
 527198: “10865352.000”
 592920: “5.638” 市净率
 1378761: “8.816”
 1771976: “2.540”
 1968584: “6.647” 换手
 2034120: “79.189” 市盈率(动)
 3475914: “3054675100.000” 流通市值
 3541450: “4972509500.000” 总市值
 stop: 0
 time: “2020-04-01 11:17:24 北京时间”
 name: “天华超净” 股票名称
 marketType: “”
 stockStatus: “连续竞价”
 marketid: “33”
 updateTime: “2020-04-01 11:17”
 }
- 本次作业拟创建一个类来完成。
 
完整代码如下:
#!/usr/bin/env python3
# -*- encoding: utf-8 -*-import requests
import time
import random
import json
from bs4 import BeautifulSoup
import pandas as pdclass Tonghuashun:"""采集同花顺股票信息作业实例"""def __init__(self):self.page_id = ''self.headers = {'Host': 'q.10jqka.com.cn','Referer': 'http://q.10jqka.com.cn/','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36','X-Requested-With': 'XMLHttpRequest'}# 定义代理字典self.proxy = [{'http://': '113.194.30.241:9999'},{'https://': '113.194.30.241:9999'},{'http://': '122.4.50.55:9999'},{'http:s//': '122.4.50.55:9999'},{'http://': '120.83.97.234:9999'},{'http:s//': '120.83.97.234:9999'},{'http://': '183.166.102.204:9999'