股票數據Scrapy爬蟲


功能描述:

  技術路線:scrapy

  目標:獲取上交所和深交所所有股票的名稱和交易信息

  輸出:保存到文件中

數據網站的確定

  獲取股票列表:

    東方財富網:http://quote.eastmoney.com/stock_list.html

  獲取個股信息:

    百度股票:https://gupiao.baidu.com/stock/

    單個股票:https://gupiao.baidu.com/stock/sz002439.html

步驟:

  步驟1:建立工程和Spider模板

D:\pycodes>scrapy startproject BaiduStocks
New Scrapy project 'BaiduStocks', using template directory 'd:\\users\\bj\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\scrapy\\templates\\project', created in:
    D:\pycodes\BaiduStocks

You can start your first spider with:
    cd BaiduStocks
    scrapy genspider example example.com

D:\pycodes>cd BaiduStocks

D:\pycodes\BaiduStocks>scrapy genspider stocks baidu.com
Created spider 'stocks' using template 'basic' in module:
  BaiduStocks.spiders.stocks

進一步修改spiders/stocks.py文件

  步驟2:編寫Spider

    配置stocks.py文件

    修改對返回頁面的處理

    修改對新增URL爬取請求的處理

# -*- coding: utf-8 -*-
import scrapy
import re

class StocksSpider(scrapy.Spider):
    name = 'stocks'
    start_urls = ['http://quote.eastmoney.com/stock_list.html']

    def parse(self, response):
        for href in response.css('a::attr(href)').extract():
            try:
                stock = re.findall(r"[s][hz]\d{6}",href)[0]
                url = 'https://gupiao.baidu.com/stock/' + stock + '.html'
                yield scrapy.Request(url,callback=self.parse_stock)#callback給出了處理這個url對應響應的處理函數,為了與當前頁面的處理函數作區分,定義一個新的函數叫parse_stock
            except:
                continue

    def parse_stock(self, response):
        infoDict = {}
        stockInfo = response.css('.stock-bets')
        name = stockInfo.css('.bets-name').extract()[0]
        keyList = stockInfo.css('dt').extract()
        valueList = stockInfo.css('dd').extract()
        for i in range(len(keyList)):
            key = re.findall(r'>.*</dt>', keyList[i])[0][1:-5]
            try:
                val = re.findall(r'\d+\.?.*</dd>', valueList[i])[0][0:-5]
            except:
                val = '--'
            infoDict[key]=val
        infoDict.update({'股票名稱': re.findall('\s.*\(',name)[0].split()[0] + re.findall('\>.*\<', name)[0][1:-1]})
        yield infoDict

  步驟3:編寫Item Pipelines(對我們后期提取的數據做相關的處理)

    配置pipelines.py文件

    定義對爬取項(Scraped Item)的處理類

      pipelines.py這里面的每一個類都是對一個item進行處理的一個過程

      嘗試新定義一個類,通過配置文件讓框架找到新定義的類,並且用這個類來處理spider提取的相關的item類的信息

# -*- coding: utf-8 -*-

# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: https://doc.scrapy.org/en/latest/topics/item-pipeline.html


class BaidustocksPipeline(object):
    def process_item(self, item, spider):
        return item

class BaidustocksInfoPipeline(object):
    def open_spider(self,spider):#指的是當一個爬蟲被調用時,對應的pipeline啟動的方法
        self.f = open('BaiduStockInfo.txt','w')
    def close_spider(self,spider):#指的是一個爬蟲關閉時或結束時,pipeline對應的方法
        self.f.close()
    def process_item(self,item,spider):#對每一個item項進行處理時,對應的方法,也是pipeline中最主體的函數
        try:
            line = str(dict(item)) + '\n'
            self.f.write(line)
        except:
            pass
        return item

    配置ITEM_PIPELLINES選項 修改配置文件settings.py

配置前

配置后

在ITEM_PIPELLINES里將自己定義BaidustockInfoPipeline寫到其中

# -*- coding: utf-8 -*-

# Scrapy settings for BaiduStocks project
#
# For simplicity, this file contains only settings considered important or
# commonly used. You can find more settings consulting the documentation:
#
#     https://doc.scrapy.org/en/latest/topics/settings.html
#     https://doc.scrapy.org/en/latest/topics/downloader-middleware.html
#     https://doc.scrapy.org/en/latest/topics/spider-middleware.html

BOT_NAME = 'BaiduStocks'

SPIDER_MODULES = ['BaiduStocks.spiders']
NEWSPIDER_MODULE = 'BaiduStocks.spiders'


# Crawl responsibly by identifying yourself (and your website) on the user-agent
#USER_AGENT = 'BaiduStocks (+http://www.yourdomain.com)'

# Obey robots.txt rules
ROBOTSTXT_OBEY = True

# Configure maximum concurrent requests performed by Scrapy (default: 16)
#CONCURRENT_REQUESTS = 32

# Configure a delay for requests for the same website (default: 0)
# See https://doc.scrapy.org/en/latest/topics/settings.html#download-delay
# See also autothrottle settings and docs
#DOWNLOAD_DELAY = 3
# The download delay setting will honor only one of:
#CONCURRENT_REQUESTS_PER_DOMAIN = 16
#CONCURRENT_REQUESTS_PER_IP = 16

# Disable cookies (enabled by default)
#COOKIES_ENABLED = False

# Disable Telnet Console (enabled by default)
#TELNETCONSOLE_ENABLED = False

# Override the default request headers:
#DEFAULT_REQUEST_HEADERS = {
#   'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
#   'Accept-Language': 'en',
#}

# Enable or disable spider middlewares
# See https://doc.scrapy.org/en/latest/topics/spider-middleware.html
#SPIDER_MIDDLEWARES = {
#    'BaiduStocks.middlewares.BaidustocksSpiderMiddleware': 543,
#}

# Enable or disable downloader middlewares
# See https://doc.scrapy.org/en/latest/topics/downloader-middleware.html
#DOWNLOADER_MIDDLEWARES = {
#    'BaiduStocks.middlewares.BaidustocksDownloaderMiddleware': 543,
#}

# Enable or disable extensions
# See https://doc.scrapy.org/en/latest/topics/extensions.html
#EXTENSIONS = {
#    'scrapy.extensions.telnet.TelnetConsole': None,
#}

# Configure item pipelines
# See https://doc.scrapy.org/en/latest/topics/item-pipeline.html
ITEM_PIPELINES = {
   'BaiduStocks.pipelines.BaidustocksInfoPipeline': 300,
}

# Enable and configure the AutoThrottle extension (disabled by default)
# See https://doc.scrapy.org/en/latest/topics/autothrottle.html
#AUTOTHROTTLE_ENABLED = True
# The initial download delay
#AUTOTHROTTLE_START_DELAY = 5
# The maximum download delay to be set in case of high latencies
#AUTOTHROTTLE_MAX_DELAY = 60
# The average number of requests Scrapy should be sending in parallel to
# each remote server
#AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0
# Enable showing throttling stats for every response received:
#AUTOTHROTTLE_DEBUG = False

# Enable and configure HTTP caching (disabled by default)
# See https://doc.scrapy.org/en/latest/topics/downloader-middleware.html#httpcache-middleware-settings
#HTTPCACHE_ENABLED = True
#HTTPCACHE_EXPIRATION_SECS = 0
#HTTPCACHE_DIR = 'httpcache'
#HTTPCACHE_IGNORE_HTTP_CODES = []
#HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage'

綜述

生成了一個spider,它能夠從東方財富網獲得股票的列表並且針對每一個股票列表生成一個百度股票的鏈接,並向這個百度股票的鏈接進行信息爬取,對於爬取后的信息,經過spider的處理,我們提取出其中的關鍵信息,形成字典,並且將這個字典以item類的形式給到了item pipelines進行后續處理

 

執行程序scrapy crawl stocks

 

優化

優化目的:進一步提高scrapy爬蟲的爬取速度,想提高爬取速度,要依靠scrapy框架提供的相關的參數

scrapy框架一共提供了四個與性能相關的配置參數,這四個都與並發連接有關系

 

 

 

優化后完整代碼:

 settings.py

# -*- coding: utf-8 -*-

# Scrapy settings for BaiduStocks project
#
# For simplicity, this file contains only settings considered important or
# commonly used. You can find more settings consulting the documentation:
#
#     https://doc.scrapy.org/en/latest/topics/settings.html
#     https://doc.scrapy.org/en/latest/topics/downloader-middleware.html
#     https://doc.scrapy.org/en/latest/topics/spider-middleware.html

BOT_NAME = 'BaiduStocks'

SPIDER_MODULES = ['BaiduStocks.spiders']
NEWSPIDER_MODULE = 'BaiduStocks.spiders'


# Crawl responsibly by identifying yourself (and your website) on the user-agent
# USER_AGENT = 'BaiduStocks (+http://www.yourdomain.com)'

#修改是否遵守爬蟲協議為False
# Obey robots.txt rules
ROBOTSTXT_OBEY = False

#修改並發請求數,修改為1,或者2,越小爬取速度越慢,太快容易被識別到
# Configure maximum concurrent requests performed by Scrapy (default: 16)
CONCURRENT_REQUESTS = 1

# Configure a delay for requests for the same website (default: 0)
# See https://doc.scrapy.org/en/latest/topics/settings.html#download-delay
# See also autothrottle settings and docs
#修改下載延遲時間,DOWNLOAD_DELAY設置越大請求越慢
DOWNLOAD_DELAY = 6
# The download delay setting will honor only one of:
#CONCURRENT_REQUESTS_PER_DOMAIN = 16
#CONCURRENT_REQUESTS_PER_IP = 16

# Disable cookies (enabled by default)
#COOKIES_ENABLED = False

# Disable Telnet Console (enabled by default)
#TELNETCONSOLE_ENABLED = False

# Override the default request headers:
#DEFAULT_REQUEST_HEADERS = {
#   'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
#   'Accept-Language': 'en',
#}

# Enable or disable spider middlewares
# See https://doc.scrapy.org/en/latest/topics/spider-middleware.html
#SPIDER_MIDDLEWARES = {
#    'BaiduStocks.middlewares.BaidustocksSpiderMiddleware': 543,
#}

# Enable or disable downloader middlewares
# See https://doc.scrapy.org/en/latest/topics/downloader-middleware.html
#開啟中間鍵
DOWNLOADER_MIDDLEWARES = {
   'BaiduStocks.middlewares.BaidustocksDownloaderMiddleware': 543,
   'scrapy.downloadermiddleware.useragent.UserAgentMiddleware': None, 
   'BaiduStocks.middlewares.RandomUserAgentMiddleware': 400,
}

# Enable or disable extensions
# See https://doc.scrapy.org/en/latest/topics/extensions.html
#EXTENSIONS = {
#    'scrapy.extensions.telnet.TelnetConsole': None,
#}

# Configure item pipelines
# See https://doc.scrapy.org/en/latest/topics/item-pipeline.html
#開啟PIPELINES,一般在要存儲數據的時候開啟
ITEM_PIPELINES = {
   'BaiduStocks.pipelines.BaidustocksInfoPipeline': 300,
}

# Enable and configure the AutoThrottle extension (disabled by default)
# See https://doc.scrapy.org/en/latest/topics/autothrottle.html
##默認False;為True表示啟用AUTOTHROTTLE擴展
AUTOTHROTTLE_ENABLED = True
# The initial download delay
##默認5秒;初始下載延遲時間
AUTOTHROTTLE_START_DELAY = 1
# The maximum download delay to be set in case of high latencies
#默認60秒;在高延遲情況下最大的下載延遲
AUTOTHROTTLE_MAX_DELAY = 3
# The average number of requests Scrapy should be sending in parallel to
# each remote server
#AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0
# Enable showing throttling stats for every response received:
#AUTOTHROTTLE_DEBUG = False

# Enable and configure HTTP caching (disabled by default)
# See https://doc.scrapy.org/en/latest/topics/downloader-middleware.html#httpcache-middleware-settings
#開啟本地緩存
HTTPCACHE_ENABLED = True
#將http緩存延遲時間
HTTPCACHE_EXPIRATION_SECS = 1
HTTPCACHE_DIR = 'httpcache'
HTTPCACHE_IGNORE_HTTP_CODES = []
HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage'

 

 

stocks.py

# -*- coding: utf-8 -*-
import scrapy
import re

class StocksSpider(scrapy.Spider):
    name = 'stocks'
    start_urls = ['http://quote.eastmoney.com/stock_list.html']

    def parse(self, response):
        # print(response.request.headers['User-Agent'])
        for href in response.css('a::attr(href)').extract():
            try:
                stock = re.findall(r"[s][hz]\d{6}",href)[0]
                url = 'https://gupiao.baidu.com/stock/' + stock + '.html'
                yield scrapy.Request(url,callback=self.parse_stock)#callback給出了處理這個url對應響應的處理函數,為了與當前頁面的處理函數作區分,定義一個新的函數叫parse_stock
            except:
                continue

    def parse_stock(self, response):
        # print(response.request.headers['User-Agent'])
        infoDict = {}
        stockInfo = response.css('.stock-bets')
        name = stockInfo.css('.bets-name').extract()[0]
        keyList = stockInfo.css('dt').extract()
        valueList = stockInfo.css('dd').extract()
        for i in range(len(keyList)):
            key = re.findall(r'>.*</dt>', keyList[i])[0][1:-5]
            try:
                val = re.findall(r'\d+\.?.*</dd>', valueList[i])[0][0:-5]
            except:
                val = '--'
            infoDict[key]=val
        infoDict.update({'股票名稱': re.findall('\s.*\(',name)[0].split()[0] + re.findall('\>.*\<', name)[0][1:-1]})
        yield infoDict

 

pipelines.py

# -*- coding: utf-8 -*-

# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: https://doc.scrapy.org/en/latest/topics/item-pipeline.html


class BaidustocksPipeline(object):
    def process_item(self, item, spider):
        return item

class BaidustocksInfoPipeline(object):
    def open_spider(self,spider):#指的是當一個爬蟲被調用時,對應的pipeline啟動的方法
        self.f = open('BaiduStockInfo.txt','w')
    def close_spider(self,spider):#指的是一個爬蟲關閉時或結束時,pipeline對應的方法
        self.f.close()
    def process_item(self,item,spider):#對每一個item項進行處理時,對應的方法,也是pipeline中最主體的函數
        try:
            line = str(dict(item)) + '\n'
            self.f.write(line)
        except:
            pass
        return item

        

middlewares.py

# -*- coding: utf-8 -*-

# Define here the models for your spider middleware
#
# See documentation in:
# https://doc.scrapy.org/en/latest/topics/spider-middleware.html

from scrapy import signals

import random
from fake_useragent import UserAgent
from scrapy.downloadermiddlewares.useragent import UserAgentMiddleware

class BaidustocksSpiderMiddleware(object):
    # Not all methods need to be defined. If a method is not defined,
    # scrapy acts as if the spider middleware does not modify the
    # passed objects.

    @classmethod
    def from_crawler(cls, crawler):
        # This method is used by Scrapy to create your spiders.
        s = cls()
        crawler.signals.connect(s.spider_opened, signal=signals.spider_opened)
        return s

    def process_spider_input(self, response, spider):
        # Called for each response that goes through the spider
        # middleware and into the spider.

        # Should return None or raise an exception.
        return None

    def process_spider_output(self, response, result, spider):
        # Called with the results returned from the Spider, after
        # it has processed the response.

        # Must return an iterable of Request, dict or Item objects.
        for i in result:
            yield i

    def process_spider_exception(self, response, exception, spider):
        # Called when a spider or process_spider_input() method
        # (from other spider middleware) raises an exception.

        # Should return either None or an iterable of Response, dict
        # or Item objects.
        pass

    def process_start_requests(self, start_requests, spider):
        # Called with the start requests of the spider, and works
        # similarly to the process_spider_output() method, except
        # that it doesn’t have a response associated.

        # Must return only requests (not items).
        for r in start_requests:
            yield r

    def spider_opened(self, spider):
        spider.logger.info('Spider opened: %s' % spider.name)


class BaidustocksDownloaderMiddleware(object):
    # Not all methods need to be defined. If a method is not defined,
    # scrapy acts as if the downloader middleware does not modify the
    # passed objects.

    @classmethod
    def from_crawler(cls, crawler):
        # This method is used by Scrapy to create your spiders.
        s = cls()
        crawler.signals.connect(s.spider_opened, signal=signals.spider_opened)
        return s

    def process_request(self, request, spider):
        # Called for each request that goes through the downloader
        # middleware.

        # Must either:
        # - return None: continue processing this request
        # - or return a Response object
        # - or return a Request object
        # - or raise IgnoreRequest: process_exception() methods of
        #   installed downloader middleware will be called
        return None

    def process_response(self, request, response, spider):
        # Called with the response returned from the downloader.

        # Must either;
        # - return a Response object
        # - return a Request object
        # - or raise IgnoreRequest
        return response

    def process_exception(self, request, exception, spider):
        # Called when a download handler or a process_request()
        # (from other downloader middleware) raises an exception.

        # Must either:
        # - return None: continue processing this exception
        # - return a Response object: stops process_exception() chain
        # - return a Request object: stops process_exception() chain
        pass

    def spider_opened(self, spider):
        spider.logger.info('Spider opened: %s' % spider.name)

class RandomUserAgentMiddleware(UserAgentMiddleware):

    def __init__(self):
        self.agent = UserAgent()

    @classmethod
    def from_crawler(cls, crawler):
        return cls()

    def process_request(self, request, spider):
        request.headers.setdefault('User-Agent', self.agent.random)

 

 

寫入文件后的文件內容

BaiduStockInfo.txt

{'今開': '13.41', '成交量': '159.61萬手', '最高': '13.52', '漲停': '14.39', '內盤': '92.20萬手', '成交額': '21.34億', '委比': '16.67%', '流通市值': '720.19億', '市盈率<sup>MRQ</sup>': '51.09', '每股收益': '0.13', '總股本': '67.16億', '昨收': '13.08', '換手率': '2.94%', '最低': '13.23', '跌停': '11.77', '外盤': '83.25萬手', '振幅': '2.22%', '量比': '3.70', '總市值': '889.82億', '市凈率': '4.40', '每股凈資產': '3.01', '流通股本': '54.35億', '股票名稱': '東方財富300059'}
{'最高': '1.08', '最低': '1.07', '今開': '1.07', '昨收': '1.06', '成交額': '1.52萬', '成交量': '142手', '凈值': '1.0574', '折價率': '1.76', '股票名稱': '香港小盤A161124'}
{'今開': '69.52', '成交量': '4.49萬手', '最高': '73.13', '漲停': '75.79', '內盤': '2.15萬手', '成交額': '3.23億', '委比': '52.04%', '流通市值': '30.19億', '市盈率<sup>MRQ</sup>': '69.24', '每股收益': '0.26', '總股本': '4.04億', '昨收': '68.90', '換手率': '10.88%', '最低': '69.50', '跌停': '62.01', '外盤': '2.82萬手', '振幅': '5.27%', '量比': '--', '總市值': '295.36億', '市凈率': '5.46', '每股凈資產': '13.38', '流通股本': '4128.00萬', '股票名稱': '立華股份300761'}
{'今開': '157.30', '成交量': '2.00萬手', '最高': '161.65', '漲停': '171.46', '內盤': '8650手', '成交額': '3.19億', '委比': '3.23%', '流通市值': '194.56億', '市盈率<sup>MRQ</sup>': '48.35', '每股收益': '0.83', '總股本': '12.16億', '昨收': '155.87', '換手率': '1.64%', '最低': '155.00', '跌停': '140.28', '外盤': '1.25萬手', '振幅': '4.27%', '量比': '--', '總市值': '1945.11億', '市凈率': '12.04', '每股凈資產': '13.29', '流通股本': '1.22億', '股票名稱': '邁瑞醫療300760'}
{'今開': '28.70', '成交量': '5652手', '最高': '28.94', '漲停': '31.41', '內盤': '3076手', '成交額': '1627.31萬', '委比': '5.45%', '流通市值': '7.66億', '市盈率<sup>MRQ</sup>': '49.99', '每股收益': '0.14', '總股本': '1.07億', '昨收': '28.55', '換手率': '2.12%', '最低': '28.64', '跌停': '25.69', '外盤': '2892手', '振幅': '1.05%', '量比': '--', '總市值': '30.64億', '市凈率': '2.85', '每股凈資產': '10.07', '流通股本': '2668.00萬', '股票名稱': '七彩化學300758'}
{'今開': '27.93', '成交量': '1.32萬手', '最高': '29.26', '漲停': '31.02', '內盤': '6720手', '成交額': '3772.23萬', '委比': '31.37%', '流通市值': '7.50億', '市盈率<sup>MRQ</sup>': '119.36', '每股收益': '0.08', '總股本': '1.04億', '昨收': '28.20', '換手率': '5.08%', '最低': '27.81', '跌停': '25.38', '外盤': '7117手', '振幅': '5.14%', '量比': '--', '總市值': '30.00億', '市凈率': '3.43', '每股凈資產': '8.42', '流通股本': '2600.00萬', '股票名稱': '羅博特科300757'}
{'今開': '33.60', '成交量': '4605手', '最高': '34.33', '漲停': '36.96', '內盤': '2694手', '成交額': '1561.69萬', '委比': '31.00%', '流通市值': '6.09億', '市盈率<sup>MRQ</sup>': '44.76', '每股收益': '0.34', '總股本': '7200.00萬', '昨收': '33.60', '換手率': '2.56%', '最低': '33.56', '跌停': '30.24', '外盤': '2003手', '振幅': '2.29%', '量比': '--', '總市值': '24.38億', '市凈率': '1.37', '每股凈資產': '24.73', '流通股本': '1800.00萬', '股票名稱': '中山金馬300756'}
{'今開': '35.05', '成交量': '2.28萬手', '最高': '35.23', '漲停': '38.36', '內盤': '1.44萬手', '成交額': '7877.90萬', '委比': '7.59%', '流通市值': '20.06億', '市盈率<sup>MRQ</sup>': '22.63', '每股收益': '0.38', '總股本': '2.32億', '昨收': '34.87', '換手率': '3.93%', '最低': '34.24', '跌停': '31.38', '外盤': '9764手', '振幅': '2.84%', '量比': '--', '總市值': '80.26億', '市凈率': '3.45', '每股凈資產': '10.05', '流通股本': '5788.87萬', '股票名稱': '華致酒行300755'}
{'今開': '35.00', '成交量': '1.17萬手', '最高': '35.88', '漲停': '38.43', '內盤': '5502手', '成交額': '4147.56萬', '委比': '34.08%', '流通市值': '7.20億', '市盈率<sup>MRQ</sup>': '47.18', '每股收益': '0.19', '總股本': '8080.00萬', '昨收': '34.94', '換手率': '5.78%', '最低': '34.89', '跌停': '31.45', '外盤': '7040手', '振幅': '2.83%', '量比': '--', '總市值': '28.78億', '市凈率': '4.64', '每股凈資產': '7.67', '流通股本': '2020.00萬', '股票名稱': '愛朋醫療300753'}
{'今開': '29.88', '成交量': '5.55萬手', '最高': '30.49', '漲停': '34.87', '內盤': '3.54萬手', '成交額': '1.67億', '委比': '12.44%', '流通市值': '8.62億', '市盈率<sup>MRQ</sup>': '29.72', '每股收益': '0.40', '總股本': '1.16億', '昨收': '31.70', '換手率': '19.11%', '最低': '29.61', '跌停': '28.53', '外盤': '2.45萬手', '振幅': '2.78%', '量比': '--', '總市值': '34.47億', '市凈率': '2.60', '每股凈資產': '11.39', '流通股本': '2906.45萬', '股票名稱': '隆利科技300752'}
{'今開': '143.76', '成交量': '6559手', '最高': '143.76', '漲停': '156.59', '內盤': '4200手', '成交額': '9206.52萬', '委比': '76.86%', '流通市值': '18.12億', '市盈率<sup>MRQ</sup>': '28.52', '每股收益': '1.22', '總股本': '5200.00萬', '昨收': '142.35', '換手率': '5.05%', '最低': '138.11', '跌停': '128.12', '外盤': '2635手', '振幅': '3.97%', '量比': '--', '總市值': '72.49億', '市凈率': '6.20', '每股凈資產': '22.47', '流通股本': '1300.00萬', '股票名稱': '邁為股份300751'}
{'今開': '74.00', '成交量': '3.84萬手', '最高': '74.18', '漲停': '80.66', '內盤': '2.28萬手', '成交額': '2.81億', '委比': '0.47%', '流通市值': '874.69億', '市盈率<sup>MRQ</sup>': '38.28', '每股收益': '0.48', '總股本': '21.94億', '昨收': '73.33', '換手率': '0.32%', '最低': '72.80', '跌停': '66.00', '外盤': '1.86萬手', '振幅': '1.88%', '量比': '--', '總市值': '1603.48億', '市凈率': '4.69', '每股凈資產': '15.59', '流通股本': '11.97億', '股票名稱': '寧德時代300750'}
{'今開': '12.46', '成交量': '1.90萬手', '最高': '12.59', '漲停': '13.72', '內盤': '1.17萬手', '成交額': '2370.88萬', '委比': '10.98%', '流通市值': '6.32億', '市盈率<sup>MRQ</sup>': '--', '每股收益': '0.01', '總股本': '2.05億', '昨收': '12.47', '換手率': '3.71%', '最低': '12.30', '跌停': '11.22', '外盤': '8044手', '振幅': '2.33%', '量比': '--', '總市值': '25.26億', '市凈率': '1.90', '每股凈資產': '6.48', '流通股本': '5130.00萬', '股票名稱': '頂固集創300749'}
{'今開': '69.00', '成交量': '21.33萬手', '最高': '71.50', '漲停': '71.75', '內盤': '11.49萬手', '成交額': '14.08億', '委比': '4.44%', '流通市值': '27.48億', '市盈率<sup>MRQ</sup>': '231.79', '每股收益': '0.14', '總股本': '4.13億', '昨收': '65.23', '換手率': '51.26%', '最低': '60.66', '跌停': '58.71', '外盤': '11.84萬手', '振幅': '16.62%', '量比': '--', '總市值': '273.07億', '市凈率': '24.27', '每股凈資產': '2.72', '流通股本': '4160.00萬', '股票名稱': '金力永磁300748'}
{'今開': '131.12', '成交量': '5412手', '最高': '133.30', '漲停': '143.22', '內盤': '2627手', '成交額': '7139.16萬', '委比': '55.17%', '流通市值': '86.07億', '市盈率<sup>MRQ</sup>': '41.81', '每股收益': '0.78', '總股本': '1.28億', '昨收': '130.20', '換手率': '0.83%', '最低': '130.66', '跌停': '117.18', '外盤': '3099手', '振幅': '2.03%', '量比': '--', '總市值': '167.94億', '市凈率': '7.87', '每股凈資產': '16.68', '流通股本': '6560.54萬', '股票名稱': '銳科激光300747'}
{'今開': '14.27', '成交量': '8823手', '最高': '14.29', '漲停': '15.50', '內盤': '5261手', '成交額': '1245.83萬', '委比': '24.24%', '流通市值': '8.89億', '市盈率<sup>MRQ</sup>': '53.41', '每股收益': '0.07', '總股本': '2.10億', '昨收': '14.09', '換手率': '1.40%', '最低': '14.06', '跌停': '12.68', '外盤': '3757手', '振幅': '1.63%', '量比': '--', '總市值': '29.67億', '市凈率': '3.20', '每股凈資產': '4.40', '流通股本': '6302.50萬', '股票名稱': '漢嘉設計300746'}
{'今開': '29.00', '成交量': '12.60萬手', '最高': '30.37', '漲停': '30.37', '內盤': '7.53萬手', '成交額': '3.59億', '委比': '20.00%', '流通市值': '15.58億', '市盈率<sup>MRQ</sup>': '48.94', '每股收益': '0.14', '總股本': '1.15億', '昨收': '27.61', '換手率': '21.59%', '最低': '26.22', '跌停': '24.85', '外盤': '5.85萬手', '振幅': '15.03%', '量比': '--', '總市值': '30.57億', '市凈率': '2.79', '每股凈資產': '9.56', '流通股本': '5833.62萬', '股票名稱': '欣銳科技300745'}
{'今開': '20.00', '成交量': '1.34萬手', '最高': '20.39', '漲停': '22.02', '內盤': '8718手', '成交額': '2690.66萬', '委比': '69.63%', '流通市值': '10.93億', '市盈率<sup>MRQ</sup>': '71.50', '每股收益': '0.10', '總股本': '9815.70萬', '昨收': '20.02', '換手率': '2.46%', '最低': '19.93', '跌停': '18.02', '外盤': '5567手', '振幅': '2.30%', '量比': '--', '總市值': '19.64億', '市凈率': '3.34', '每股凈資產': '5.98', '流通股本': '5461.75萬', '股票名稱': '天地數碼300743'}
{'今開': '28.15', '成交量': '1.38萬手', '最高': '28.59', '漲停': '30.55', '內盤': '7467手', '成交額': '3827.03萬', '委比': '1.13%', '流通市值': '11.69億', '市盈率<sup>MRQ</sup>': '--', '每股收益': '0.20', '總股本': '7849.86萬', '昨收': '27.77', '換手率': '3.20%', '最低': '27.17', '跌停': '24.99', '外盤': '7017手', '振幅': '5.11%', '量比': '--', '總市值': '21.35億', '市凈率': '1.91', '每股凈資產': '14.21', '流通股本': '4296.08萬', '股票名稱': '越博動力300742'}
{'今開': '29.24', '成交量': '7918手', '最高': '29.62', '漲停': '32.26', '內盤': '4740手', '成交額': '2309.10萬', '委比': '63.07%', '流通市值': '17.94億', '市盈率<sup>MRQ</sup>': '15.29', '每股收益': '0.48', '總股本': '6.16億', '昨收': '29.33', '換手率': '1.29%', '最低': '28.91', '跌停': '26.40', '外盤': '3677手', '振幅': '2.42%', '量比': '--', '總市值': '179.41億', '市凈率': '1.94', '每股凈資產': '15.05', '流通股本': '6159.00萬', '股票名稱': '華寶股份300741'}
{'今開': '8.90', '成交量': '7.37萬手', '最高': '9.02', '漲停': '9.89', '內盤': '5.05萬手', '成交額': '6525.54萬', '委比': '70.56%', '流通市值': '19.63億', '市盈率<sup>MRQ</sup>': '1985.98', '每股收益': '0.00', '總股本': '4.11億', '昨收': '8.99', '換手率': '3.30%', '最低': '8.66', '跌停': '8.09', '外盤': '3.02萬手', '振幅': '4.00%', '量比': '--', '總市值': '36.10億', '市凈率': '1.71', '每股凈資產': '5.14', '流通股本': '2.24億', '股票名稱': '御家匯300740'}
{'今開': '17.73', '成交量': '8.49萬手', '最高': '18.29', '漲停': '19.36', '內盤': '4.14萬手', '成交額': '1.53億', '委比': '49.18%', '流通市值': '12.64億', '市盈率<sup>MRQ</sup>': '46.33', '每股收益': '0.15', '總股本': '2.77億', '昨收': '17.60', '換手率': '12.26%', '最低': '17.50', '跌停': '15.84', '外盤': '4.86萬手', '振幅': '4.49%', '量比': '--', '總市值': '50.56億', '市凈率': '2.64', '每股凈資產': '6.92', '流通股本': '6930.00萬', '股票名稱': '明陽電路300739'}
{'今開': '30.50', '成交量': '1.53萬手', '最高': '30.77', '漲停': '33.33', '內盤': '9266手', '成交額': '4673.82萬', '委比': '26.55%', '流通市值': '18.36億', '市盈率<sup>MRQ</sup>': '62.87', '每股收益': '0.22', '總股本': '1.17億', '昨收': '30.30', '換手率': '2.55%', '最低': '30.21', '跌停': '27.27', '外盤': '7315手', '振幅': '1.85%', '量比': '--', '總市值': '35.80億', '市凈率': '3.40', '每股凈資產': '8.95', '流通股本': '6025.68萬', '股票名稱': '奧飛數據300738'}
{'今開': '8.88', '成交量': '1.39萬手', '最高': '9.02', '漲停': '9.77', '內盤': '7062手', '成交額': '1247.56萬', '委比': '14.69%', '流通市值': '24.75億', '市盈率<sup>MRQ</sup>': '32.41', '每股收益': '0.07', '總股本': '6.08億', '昨收': '8.88', '換手率': '0.50%', '最低': '8.88', '跌停': '7.99', '外盤': '7194手', '振幅': '1.58%', '量比': '--', '總市值': '54.39億', '市凈率': '1.85', '每股凈資產': '4.84', '流通股本': '2.77億', '股票名稱': '科順股份300737'}
{'今開': '10.94', '成交量': '2.11萬手', '最高': '11.00', '漲停': '11.91', '內盤': '1.02萬手', '成交額': '2295.59萬', '委比': '3.48%', '流通市值': '8.68億', '市盈率<sup>MRQ</sup>': '--', '每股收益': '0.06', '總股本': '1.31億', '昨收': '10.83', '換手率': '2.64%', '最低': '10.81', '跌停': '9.75', '外盤': '1.13萬手', '振幅': '1.75%', '量比': '--', '總市值': '14.18億', '市凈率': '2.22', '每股凈資產': '4.88', '流通股本': '7997.74萬', '股票名稱': '百邦科技300736'}
{'今開': '24.16', '成交量': '18.36萬手', '最高': '24.90', '漲停': '26.73', '內盤': '9.92萬手', '成交額': '4.47億', '委比': '49.97%', '流通市值': '40.56億', '市盈率<sup>MRQ</sup>': '34.35', '每股收益': '0.23', '總股本': '4.61億', '昨收': '24.30', '換手率': '11.07%', '最低': '23.81', '跌停': '21.87', '外盤': '9.88萬手', '振幅': '4.49%', '量比': '--', '總市值': '112.78億', '市凈率': '4.58', '每股凈資產': '5.34', '流通股本': '1.66億', '股票名稱': '光弘科技300735'}
{'今開': '10.96', '成交量': '6384手', '最高': '11.11', '漲停': '11.98', '內盤': '2701手', '成交額': '704.00萬', '委比': '37.23%', '流通市值': '7.46億', '市盈率<sup>MRQ</sup>': '51.52', '每股收益': '0.05', '總股本': '1.60億', '昨收': '10.89', '換手率': '0.94%', '最低': '10.90', '跌停': '9.80', '外盤': '3863手', '振幅': '1.93%', '量比': '--', '總市值': '17.60億', '市凈率': '1.53', '每股凈資產': '7.17', '流通股本': '6783.75萬', '股票名稱': '西菱動力300733'}
{'今開': '16.70', '成交量': '7712手', '最高': '16.76', '漲停': '18.22', '內盤': '3942手', '成交額': '1286.50萬', '委比': '22.77%', '流通市值': '19.67億', '市盈率<sup>MRQ</sup>': '17.14', '每股收益': '0.34', '總股本': '1.92億', '昨收': '16.56', '換手率': '0.65%', '最低': '16.60', '跌停': '14.90', '外盤': '4004手', '振幅': '0.97%', '量比': '--', '總市值': '31.97億', '市凈率': '1.07', '每股凈資產': '15.58', '流通股本': '1.18億', '股票名稱': '設研院300732'}
{'今開': '20.19', '成交量': '5.61萬手', '最高': '20.74', '漲停': '22.24', '內盤': '2.92萬手', '成交額': '1.14億', '委比': '42.59%', '流通市值': '17.03億', '市盈率<sup>MRQ</sup>': '51.59', '每股收益': '0.14', '總股本': '1.25億', '昨收': '20.22', '換手率': '6.82%', '最低': '19.83', '跌停': '18.20', '外盤': '3.11萬手', '振幅': '4.50%', '量比': '--', '總市值': '25.87億', '市凈率': '3.59', '每股凈資產': '5.77', '流通股本': '8222.44萬', '股票名稱': '科創新源300731'}
{'今開': '15.75', '成交量': '2.54萬手', '最高': '16.05', '漲停': '17.29', '內盤': '1.19萬手', '成交額': '4056.75萬', '委比': '15.79%', '流通市值': '12.06億', '市盈率<sup>MRQ</sup>': '--', '每股收益': '0.07', '總股本': '1.58億', '昨收': '15.72', '換手率': '3.36%', '最低': '15.75', '跌停': '14.15', '外盤': '1.46萬手', '振幅': '1.91%', '量比': '--', '總市值': '25.20億', '市凈率': '6.39', '每股凈資產': '2.50', '流通股本': '7558.08萬', '股票名稱': '科創信息300730'}
{'今開': '21.46', '成交量': '2140手', '最高': '21.55', '漲停': '23.62', '內盤': '1144手', '成交額': '457.79萬', '委比': '3.90%', '流通市值': '5.40億', '市盈率<sup>MRQ</sup>': '45.48', '每股收益': '0.12', '總股本': '8734.22萬', '昨收': '21.47', '換手率': '0.85%', '最低': '21.01', '跌停': '19.32', '外盤': '1084手', '振幅': '2.52%', '量比': '--', '總市值': '18.72億', '市凈率': '2.49', '每股凈資產': '8.60', '流通股本': '2518.34萬', '股票名稱': '樂歌股份300729'}
{'今開': '--', '成交量': '--', '最高': '--', '漲停': '--', '內盤': '--', '成交額': '--', '委比': '--', '流通市值': '--', '市盈率<sup>MRQ</sup>': '--', '每股收益': '--', '總股本': '--', '昨收': '--', '換手率': '--', '最低': '--', '跌停': '--', '外盤': '--', '振幅': '--', '量比': '--', '總市值': '--', '市凈率': '--', '每股凈資產': '--', '流通股本': '--', '股票名稱': '天常股份300728'}
{'今開': '14.77', '成交量': '6113手', '最高': '14.77', '漲停': '16.01', '內盤': '3500手', '成交額': '892.76萬', '委比': '39.81%', '流通市值': '5.63億', '市盈率<sup>MRQ</sup>': '33.45', '每股收益': '0.11', '總股本': '1.27億', '昨收': '14.55', '換手率': '1.58%', '最低': '14.43', '跌停': '13.10', '外盤': '2877手', '振幅': '2.34%', '量比': '--', '總市值': '18.52億', '市凈率': '3.43', '每股凈資產': '4.26', '流通股本': '3859.38萬', '股票名稱': '潤禾材料300727'}
{'今開': '23.00', '成交量': '12.38萬手', '最高': '24.27', '漲停': '25.01', '內盤': '5.51萬手', '成交額': '2.95億', '委比': '36.48%', '流通市值': '26.06億', '市盈率<sup>MRQ</sup>': '43.59', '每股收益': '0.14', '總股本': '4.00億', '昨收': '22.74', '換手率': '11.42%', '最低': '22.91', '跌停': '20.47', '外盤': '7.67萬手', '振幅': '5.98%', '量比': '--', '總市值': '96.14億', '市凈率': '5.98', '每股凈資產': '4.02', '流通股本': '1.08億', '股票名稱': '宏達電子300726'}
{'今開': '54.08', '成交量': '2.69萬手', '最高': '56.73', '漲停': '59.35', '內盤': '1.06萬手', '成交額': '1.50億', '委比': '2.02%', '流通市值': '51.53億', '市盈率<sup>MRQ</sup>': '60.48', '每股收益': '0.30', '總股本': '1.43億', '昨收': '53.95', '換手率': '2.96%', '最低': '53.75', '跌停': '48.56', '外盤': '1.83萬手', '振幅': '5.52%', '量比': '--', '總市值': '81.07億', '市凈率': '9.85', '每股凈資產': '5.76', '流通股本': '9090.30萬', '股票名稱': '葯石科技300725'}
{'今開': '29.45', '成交量': '3.56萬手', '最高': '29.78', '漲停': '32.51', '內盤': '2.04萬手', '成交額': '1.04億', '委比': '0.84%', '流通市值': '22.98億', '市盈率<sup>MRQ</sup>': '24.67', '每股收益': '0.29', '總股本': '3.20億', '昨收': '29.55', '換手率': '4.45%', '最低': '28.71', '跌停': '26.60', '外盤': '1.77萬手', '振幅': '3.62%', '量比': '--', '總市值': '91.90億', '市凈率': '3.96', '每股凈資產': '7.25', '流通股本': '8000.00萬', '股票名稱': '捷佳偉創300724'}
{'今開': '35.40', '成交量': '3615手', '最高': '35.90', '漲停': '39.07', '內盤': '2200手', '成交額': '1286.60萬', '委比': '--', '流通市值': '16.91億', '市盈率<sup>MRQ</sup>': '29.18', '每股收益': '0.30', '總股本': '1.61億', '昨收': '35.52', '換手率': '0.76%', '最低': '35.36', '跌停': '31.97', '外盤': '1581手', '振幅': '1.52%', '量比': '--', '總市值': '57.37億', '市凈率': '4.26', '每股凈資產': '8.36', '流通股本': '4750.63萬', '股票名稱': '一品紅300723'}
{'今開': '22.00', '成交量': '2.19萬手', '最高': '22.95', '漲停': '24.40', '內盤': '9668手', '成交額': '4970.87萬', '委比': '8.70%', '流通市值': '6.41億', '市盈率<sup>MRQ</sup>': '108.95', '每股收益': '0.07', '總股本': '1.12億', '昨收': '22.18', '換手率': '7.83%', '最低': '22.00', '跌停': '19.96', '外盤': '1.39萬手', '振幅': '4.28%', '量比': '--', '總市值': '25.63億', '市凈率': '4.42', '每股凈資產': '5.17', '流通股本': '2800.00萬', '股票名稱': '新余國科300722'}
{'今開': '18.87', '成交量': '1.29萬手', '最高': '19.19', '漲停': '20.66', '內盤': '7070手', '成交額': '2441.60萬', '委比': '12.35%', '流通市值': '7.92億', '市盈率<sup>MRQ</sup>': '163.74', '每股收益': '0.03', '總股本': '8058.50萬', '昨收': '18.78', '換手率': '3.09%', '最低': '18.81', '跌停': '16.90', '外盤': '6285手', '振幅': '2.02%', '量比': '--', '總市值': '15.31億', '市凈率': '1.76', '每股凈資產': '10.81', '流通股本': '4167.26萬', '股票名稱': '怡達股份300721'}
{'今開': '14.65', '成交量': '6551手', '最高': '14.70', '漲停': '15.91', '內盤': '3389手', '成交額': '955.65萬', '委比': '5.77%', '流通市值': '6.08億', '市盈率<sup>MRQ</sup>': '69.86', '每股收益': '0.08', '總股本': '1.08億', '昨收': '14.46', '換手率': '1.57%', '最低': '14.46', '跌停': '13.01', '外盤': '3398手', '振幅': '1.66%', '量比': '--', '總市值': '15.71億', '市凈率': '2.27', '每股凈資產': '6.42', '流通股本': '4180.68萬', '股票名稱': '海川智能300720'}
{'今開': '11.52', '成交量': '21.40萬手', '最高': '12.18', '漲停': '13.65', '內盤': '12.21萬手', '成交額': '2.52億', '委比': '0.20%', '流通市值': '9.19億', '市盈率<sup>MRQ</sup>': '--', '每股收益': '0.04', '總股本': '2.54億', '昨收': '12.41', '換手率': '27.29%', '最低': '11.52', '跌停': '11.17', '外盤': '10.24萬手', '振幅': '5.32%', '量比': '--', '總市值': '29.81億', '市凈率': '3.17', '每股凈資產': '3.69', '流通股本': '7841.14萬', '股票名稱': '安達維爾300719'}
{'今開': '16.80', '成交量': '5555手', '最高': '16.95', '漲停': '18.48', '內盤': '2414手', '成交額': '934.07萬', '委比': '1.40%', '流通市值': '8.30億', '市盈率<sup>MRQ</sup>': '28.43', '每股收益': '0.15', '總股本': '1.98億', '昨收': '16.80', '換手率': '1.12%', '最低': '16.63', '跌停': '15.12', '外盤': '3231手', '振幅': '1.90%', '量比': '--', '總市值': '33.20億', '市凈率': '2.87', '每股凈資產': '5.83', '流通股本': '4950.00萬', '股票名稱': '長盛軸承300718'}
{'今開': '15.58', '成交量': '2.85萬手', '最高': '16.19', '漲停': '16.95', '內盤': '1.41萬手', '成交額': '4497.63萬', '委比': '5.72%', '流通市值': '6.71億', '市盈率<sup>MRQ</sup>': '29.21', '每股收益': '0.14', '總股本': '1.02億', '昨收': '15.41', '換手率': '6.71%', '最低': '15.41', '跌停': '13.87', '外盤': '1.51萬手', '振幅': '5.06%', '量比': '--', '總市值': '16.16億', '市凈率': '2.92', '每股凈資產': '5.40', '流通股本': '4249.60萬', '股票名稱': '華信新材300717'}
{'今開': '15.36', '成交量': '2.94萬手', '最高': '15.36', '漲停': '16.60', '內盤': '1.01萬手', '成交額': '4409.92萬', '委比': '1.75%', '流通市值': '14.32億', '市盈率<sup>MRQ</sup>': '70.45', '每股收益': '0.05', '總股本': '1.60億', '昨收': '15.09', '換手率': '3.10%', '最低': '14.80', '跌停': '13.58', '外盤': '2.02萬手', '振幅': '3.71%', '量比': '--', '總市值': '24.18億', '市凈率': '2.89', '每股凈資產': '5.23', '流通股本': '9477.00萬', '股票名稱': '國立科技300716'}
{'今開': '18.31', '成交量': '3757手', '最高': '18.39', '漲停': '20.14', '內盤': '2450手', '成交額': '682.08萬', '委比': '10.11%', '流通市值': '7.02億', '市盈率<sup>MRQ</sup>': '35.11', '每股收益': '0.13', '總股本': '1.32億', '昨收': '18.31', '換手率': '0.97%', '最低': '17.95', '跌停': '16.48', '外盤': '1388手', '振幅': '2.40%', '量比': '--', '總市值': '23.86億', '市凈率': '5.29', '每股凈資產': '3.43', '流通股本': '3870.00萬', '股票名稱': '凱倫股份300715'}
{'今開': '11.75', '成交量': '1.86萬手', '最高': '12.22', '漲停': '12.91', '內盤': '8844手', '成交額': '2239.80萬', '委比': '22.11%', '流通市值': '7.76億', '市盈率<sup>MRQ</sup>': '1055.89', '每股收益': '0.00', '總股本': '1.43億', '昨收': '11.74', '換手率': '2.90%', '最低': '11.67', '跌停': '10.57', '外盤': '1.10萬手', '振幅': '4.68%', '量比': '--', '總市值': '17.33億', '市凈率': '1.61', '每股凈資產': '7.51', '流通股本': '6422.38萬', '股票名稱': '英可瑞300713'}
{'今開': '12.55', '成交量': '4.85萬手', '最高': '12.97', '漲停': '13.86', '內盤': '2.28萬手', '成交額': '6193.88萬', '委比': '40.94%', '流通市值': '10.06億', '市盈率<sup>MRQ</sup>': '29.47', '每股收益': '0.14', '總股本': '1.82億', '昨收': '12.60', '換手率': '6.18%', '最低': '12.55', '跌停': '11.34', '外盤': '2.88萬手', '振幅': '3.33%', '量比': '--', '總市值': '23.33億', '市凈率': '1.89', '每股凈資產': '6.78', '流通股本': '7849.92萬', '股票名稱': '永福股份300712'}
{'今開': '16.80', '成交量': '6.49萬手', '最高': '17.47', '漲停': '18.50', '內盤': '3.36萬手', '成交額': '1.11億', '委比': '3.47%', '流通市值': '9.65億', '市盈率<sup>MRQ</sup>': '--', '每股收益': '0.02', '總股本': '1.73億', '昨收': '16.82', '換手率': '11.64%', '最低': '16.63', '跌停': '15.14', '外盤': '3.69萬手', '振幅': '4.99%', '量比': '--', '總市值': '29.94億', '市凈率': '4.49', '每股凈資產': '3.86', '流通股本': '5576.04萬', '股票名稱': '廣哈通信300711'}
{'今開': '25.72', '成交量': '8919手', '最高': '26.24', '漲停': '28.25', '內盤': '5284手', '成交額': '2306.72萬', '委比': '3.85%', '流通市值': '8.62億', '市盈率<sup>MRQ</sup>': '71.51', '每股收益': '0.09', '總股本': '6861.40萬', '昨收': '25.68', '換手率': '2.66%', '最低': '25.66', '跌停': '23.11', '外盤': '4123手', '振幅': '2.26%', '量比': '--', '總市值': '17.65億', '市凈率': '3.03', '每股凈資產': '8.50', '流通股本': '3352.40萬', '股票名稱': '萬隆光電300710'}
{'今開': '50.37', '成交量': '2430手', '最高': '50.48', '漲停': '54.73', '內盤': '1173手', '成交額': '1219.33萬', '委比': '--', '流通市值': '28.48億', '市盈率<sup>MRQ</sup>': '--', '每股收益': '0.02', '總股本': '8864.29萬', '昨收': '49.75', '換手率': '0.43%', '最低': '49.87', '跌停': '44.77', '外盤': '1322手', '振幅': '1.23%', '量比': '--', '總市值': '44.62億', '市凈率': '3.51', '每股凈資產': '14.35', '流通股本': '5658.14萬', '股票名稱': '精研科技300709'}
{'今開': '14.19', '成交量': '11.37萬手', '最高': '14.77', '漲停': '15.57', '內盤': '6.44萬手', '成交額': '1.64億', '委比': '53.95%', '流通市值': '12.64億', '市盈率<sup>MRQ</sup>': '241.17', '每股收益': '0.03', '總股本': '2.59億', '昨收': '14.15', '換手率': '12.99%', '最低': '14.19', '跌停': '12.74', '外盤': '5.88萬手', '振幅': '4.10%', '量比': '--', '總市值': '37.48億', '市凈率': '5.08', '每股凈資產': '2.84', '流通股本': '8748.12萬', '股票名稱': '聚燦光電300708'}
{'今開': '12.90', '成交量': '1.07萬手', '最高': '13.15', '漲停': '13.96', '內盤': '4607手', '成交額': '1391.02萬', '委比': '9.94%', '流通市值': '9.98億', '市盈率<sup>MRQ</sup>': '43.47', '每股收益': '0.07', '總股本': '1.57億', '昨收': '12.69', '換手率': '1.39%', '最低': '12.75', '跌停': '11.42', '外盤': '6687手', '振幅': '3.15%', '量比': '--', '總市值': '20.33億', '市凈率': '3.19', '每股凈資產': '4.05', '流通股本': '7718.90萬', '股票名稱': '威唐工業300707'}
{'今開': '22.65', '成交量': '3.01萬手', '最高': '22.99', '漲停': '24.77', '內盤': '1.50萬手', '成交額': '6846.18萬', '委比': '15.71%', '流通市值': '12.77億', '市盈率<sup>MRQ</sup>': '591.34', '每股收益': '0.01', '總股本': '1.41億', '昨收': '22.52', '換手率': '5.34%', '最低': '22.58', '跌停': '20.27', '外盤': '1.61萬手', '振幅': '1.82%', '量比': '--', '總市值': '32.03億', '市凈率': '7.40', '每股凈資產': '3.07', '流通股本': '5626.29萬', '股票名稱': '阿石創300706'}
{'今開': '9.75', '成交量': '1.00萬手', '最高': '9.89', '漲停': '10.77', '內盤': '5146手', '成交額': '984.34萬', '委比': '0.85%', '流通市值': '9.62億', '市盈率<sup>MRQ</sup>': '55.25', '每股收益': '0.04', '總股本': '2.35億', '昨收': '9.79', '換手率': '1.02%', '最低': '9.75', '跌停': '8.81', '外盤': '5347手', '振幅': '1.43%', '量比': '--', '總市值': '23.02億', '市凈率': '3.16', '每股凈資產': '3.10', '流通股本': '9810.25萬', '股票名稱': '九典制葯300705'}
{'今開': '9.60', '成交量': '1.43萬手', '最高': '9.64', '漲停': '10.47', '內盤': '7772手', '成交額': '1370.08萬', '委比': '25.03%', '流通市值': '11.05億', '市盈率<sup>MRQ</sup>': '48.09', '每股收益': '0.07', '總股本': '1.80億', '昨收': '9.52', '換手率': '1.23%', '最低': '9.52', '跌停': '8.57', '外盤': '6829手', '振幅': '1.26%', '量比': '--', '總市值': '17.17億', '市凈率': '1.77', '每股凈資產': '5.40', '流通股本': '1.16億', '股票名稱': '創源文化300703'}
{'今開': '29.98', '成交量': '2.70萬手', '最高': '30.48', '漲停': '32.95', '內盤': '1.49萬手', '成交額': '8127.66萬', '委比': '6.91%', '流通市值': '15.95億', '市盈率<sup>MRQ</sup>': '10.69', '每股收益': '0.70', '總股本': '1.82億', '昨收': '29.95', '換手率': '5.09%', '最低': '29.60', '跌停': '26.95', '外盤': '1.42萬手', '振幅': '2.94%', '量比': '--', '總市值': '54.78億', '市凈率': '3.47', '每股凈資產': '8.67', '流通股本': '5305.71萬', '股票名稱': '天宇股份300702'}
{'今開': '22.00', '成交量': '1.42萬手', '最高': '22.50', '漲停': '24.18', '內盤': '7629手', '成交額': '3166.65萬', '委比': '8.39%', '流通市值': '7.54億', '市盈率<sup>MRQ</sup>': '39.20', '每股收益': '0.21', '總股本': '1.20億', '昨收': '21.98', '換手率': '4.18%', '最低': '22.00', '跌停': '19.78', '外盤': '7431手', '振幅': '2.27%', '量比': '--', '總市值': '26.60億', '市凈率': '3.59', '每股凈資產': '6.18', '流通股本': '3402.21萬', '股票名稱': '森霸傳感300701'}
{'今開': '27.11', '成交量': '8.18萬手', '最高': '27.37', '漲停': '28.69', '內盤': '5.33萬手', '成交額': '2.11億', '委比': '3.76%', '流通市值': '11.29億', '市盈率<sup>MRQ</sup>': '--', '每股收益': '0.05', '總股本': '8240.00萬', '昨收': '26.08', '換手率': '18.46%', '最低': '24.91', '跌停': '23.47', '外盤': '3.47萬手', '振幅': '9.43%', '量比': '--', '總市值': '21.00億', '市凈率': '3.95', '每股凈資產': '6.44', '流通股本': '4430.75萬', '股票名稱': '岱勒新材300700'}
{'今開': '35.00', '成交量': '4.64萬手', '最高': '35.32', '漲停': '38.19', '內盤': '2.46萬手', '成交額': '1.62億', '委比': '59.23%', '流通市值': '111.23億', '市盈率<sup>MRQ</sup>': '28.28', '每股收益': '0.43', '總股本': '5.18億', '昨收': '34.72', '換手率': '1.44%', '最低': '34.40', '跌停': '31.25', '外盤': '2.44萬手', '振幅': '2.65%', '量比': '--', '總市值': '179.25億', '市凈率': '4.24', '每股凈資產': '8.15', '流通股本': '3.22億', '股票名稱': '光威復材300699'}
{'今開': '16.70', '成交量': '7.57萬手', '最高': '18.43', '漲停': '18.43', '內盤': '5.58萬手', '成交額': '1.36億', '委比': '100.00%', '流通市值': '8.38億', '市盈率<sup>MRQ</sup>': '--', '每股收益': '0.01', '總股本': '1.34億', '昨收': '16.75', '換手率': '16.66%', '最低': '16.69', '跌停': '15.08', '外盤': '2.99萬手', '振幅': '10.39%', '量比': '--', '總市值': '24.70億', '市凈率': '6.51', '每股凈資產': '2.83', '流通股本': '4545.14萬', '股票名稱': '萬馬科技300698'}
{'今開': '14.69', '成交量': '11.10萬手', '最高': '14.93', '漲停': '16.25', '內盤': '6.34萬手', '成交額': '1.63億', '委比': '4.63%', '流通市值': '7.69億', '市盈率<sup>MRQ</sup>': '23.66', '每股收益': '0.16', '總股本': '2.08億', '昨收': '14.77', '換手率': '21.35%', '最低': '14.39', '跌停': '13.29', '外盤': '6.00萬手', '振幅': '3.66%', '量比': '--', '總市值': '30.74億', '市凈率': '3.87', '每股凈資產': '3.82', '流通股本': '5200.00萬', '股票名稱': '電工合金300697'}
{'今開': '25.45', '成交量': '1.95萬手', '最高': '26.75', '漲停': '28.18', '內盤': '8903手', '成交額': '5145.08萬', '委比': '10.45%', '流通市值': '13.04億', '市盈率<sup>MRQ</sup>': '33.07', '每股收益': '0.20', '總股本': '1.19億', '昨收': '25.62', '換手率': '3.97%', '最低': '25.36', '跌停': '23.06', '外盤': '1.27萬手', '振幅': '5.43%', '量比': '--', '總市值': '31.60億', '市凈率': '4.02', '每股凈資產': '6.59', '流通股本': '4917.97萬', '股票名稱': '愛樂達300696'}
{'今開': '49.40', '成交量': '1175手', '最高': '49.44', '漲停': '53.71', '內盤': '521手', '成交額': '577.23萬', '委比': '21.43%', '流通市值': '8.22億', '市盈率<sup>MRQ</sup>': '26.42', '每股收益': '0.47', '總股本': '6667.77萬', '昨收': '48.83', '換手率': '0.70%', '最低': '48.79', '跌停': '43.95', '外盤': '661手', '振幅': '1.33%', '量比': '--', '總市值': '32.87億', '市凈率': '1.87', '每股凈資產': '26.32', '流通股本': '1667.77萬', '股票名稱': '兆豐股份300695'}
{'今開': '16.85', '成交量': '2.57萬手', '最高': '16.85', '漲停': '18.45', '內盤': '1.65萬手', '成交額': '4274.22萬', '委比': '13.17%', '流通市值': '8.90億', '市盈率<sup>MRQ</sup>': '29.94', '每股收益': '0.14', '總股本': '2.15億', '昨收': '16.77', '換手率': '4.78%', '最低': '16.50', '跌停': '15.09', '外盤': '1.11萬手', '振幅': '2.09%', '量比': '--', '總市值': '35.59億', '市凈率': '3.08', '每股凈資產': '5.37', '流通股本': '5383.00萬', '股票名稱': '蠡湖股份300694'}
{'今開': '11.65', '成交量': '9580手', '最高': '11.87', '漲停': '12.66', '內盤': '4735手', '成交額': '1124.34萬', '委比': '10.79%', '流通市值': '8.25億', '市盈率<sup>MRQ</sup>': '174.95', '每股收益': '0.02', '總股本': '1.37億', '昨收': '11.51', '換手率': '1.36%', '最低': '11.57', '跌停': '10.36', '外盤': '5396手', '振幅': '2.61%', '量比': '--', '總市值': '16.04億', '市凈率': '2.62', '每股凈資產': '4.48', '流通股本': '7042.05萬', '股票名稱': '盛弘股份300693'}
{'今開': '13.14', '成交量': '2.54萬手', '最高': '13.35', '漲停': '14.52', '內盤': '1.66萬手', '成交額': '3325.73萬', '委比': '3.82%', '流通市值': '12.59億', '市盈率<sup>MRQ</sup>': '33.80', '每股收益': '0.19', '總股本': '1.60億', '昨收': '13.20', '換手率': '2.62%', '最低': '12.91', '跌停': '11.88', '外盤': '1.05萬手', '振幅': '3.33%', '量比': '--', '總市值': '20.77億', '市凈率': '2.67', '每股凈資產': '4.86', '流通股本': '9700.50萬', '股票名稱': '中環環保300692'}
{'今開': '17.68', '成交量': '3.42萬手', '最高': '17.84', '漲停': '19.20', '內盤': '1.85萬手', '成交額': '6017.14萬', '委比': '17.31%', '流通市值': '17.15億', '市盈率<sup>MRQ</sup>': '80.17', '每股收益': '0.09', '總股本': '2.25億', '昨收': '17.45', '換手率': '3.52%', '最低': '17.26', '跌停': '15.71', '外盤': '1.75萬手', '振幅': '3.32%', '量比': '--', '總市值': '39.74億', '市凈率': '2.80', '每股凈資產': '6.29', '流通股本': '9727.80萬', '股票名稱': '聯合光電300691'}
{'今開': '24.30', '成交量': '2.82萬手', '最高': '24.78', '漲停': '26.61', '內盤': '1.33萬手', '成交額': '6879.36萬', '委比': '28.18%', '流通市值': '12.94億', '市盈率<sup>MRQ</sup>': '19.64', '每股收益': '0.63', '總股本': '1.11億', '昨收': '24.19', '換手率': '5.40%', '最低': '24.01', '跌停': '21.77', '外盤': '1.67萬手', '振幅': '3.18%', '量比': '--', '總市值': '27.49億', '市凈率': '2.94', '每股凈資產': '8.42', '流通股本': '5222.69萬', '股票名稱': '雙一科技300690'}

 

 

 待解決問題

執行過程中,有的網頁提取報錯了,看了下頁面css結構和其他正確的無差,同樣的代碼,實在不知何故

2019-08-08 22:16:16 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://gupiao.baidu.com/stock/sz300757.html> (referer: http://quote.eastmoney.com/stock_list.html)
2019-08-08 22:16:16 [scrapy.core.scraper] DEBUG: Scraped from <200 https://gupiao.baidu.com/stock/sz300757.html>
{'今開': '27.93', '成交量': '1.32萬手', '最高': '29.26', '漲停': '31.02', '內盤': '6720手', '成交額': '3772.23萬', '委比': '31.37%', '流通市值': '7.50億', '市盈率<sup>MRQ</sup>': '119.36', '每股收益': '0.08', '總股本': '1.04億', '昨收': '28.20', '換手率': '5.08%', '最低': '27.81', '跌停': '25.38', '外盤': '7117手', '振幅': '5.14%', '量比': '--', '總市值': '30.00億', '市凈率': '3.43', '每股凈資產': '8.42', '流通股本': '2600.00萬', '股票名稱': '羅博特科300757'}
2019-08-08 22:16:20 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://gupiao.baidu.com/stock/sz300756.html> (referer: http://quote.eastmoney.com/stock_list.html)
2019-08-08 22:16:21 [scrapy.core.scraper] DEBUG: Scraped from <200 https://gupiao.baidu.com/stock/sz300756.html>
{'今開': '33.60', '成交量': '4605手', '最高': '34.33', '漲停': '36.96', '內盤': '2694手', '成交額': '1561.69萬', '委比': '31.00%', '流通市值': '6.09億', '市盈率<sup>MRQ</sup>': '44.76', '每股收益': '0.34', '總股本': '7200.00萬', '昨收': '33.60', '換手率': '2.56%', '最低': '33.56', '跌停': '30.24', '外盤': '2003手', '振幅': '2.29%', '量比': '--', '總市值': '24.38億', '市凈率': '1.37', '每股凈資產': '24.73', '流通股本': '1800.00萬', '股票名稱': '中山金馬300756'}
2019-08-08 22:16:25 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://gupiao.baidu.com/stock/sz300755.html> (referer: http://quote.eastmoney.com/stock_list.html)
2019-08-08 22:16:25 [scrapy.core.scraper] DEBUG: Scraped from <200 https://gupiao.baidu.com/stock/sz300755.html>
{'今開': '35.05', '成交量': '2.28萬手', '最高': '35.23', '漲停': '38.36', '內盤': '1.44萬手', '成交額': '7877.90萬', '委比': '7.59%', '流通市值': '20.06億', '市盈率<sup>MRQ</sup>': '22.63', '每股收益': '0.38', '總股本': '2.32億', '昨收': '34.87', '換手率': '3.93%', '最低': '34.24', '跌停': '31.38', '外盤': '9764手', '振幅': '2.84%', '量比': '--', '總市值': '80.26億', '市凈率': '3.45', '每股凈資產': '10.05', '流通股本': '5788.87萬', '股票名稱': '華致酒行300755'}
2019-08-08 22:16:28 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://gupiao.baidu.com/stock/sz300753.html> (referer: http://quote.eastmoney.com/stock_list.html)
2019-08-08 22:16:28 [scrapy.core.scraper] DEBUG: Scraped from <200 https://gupiao.baidu.com/stock/sz300753.html>
{'今開': '35.00', '成交量': '1.17萬手', '最高': '35.88', '漲停': '38.43', '內盤': '5502手', '成交額': '4147.56萬', '委比': '34.08%', '流通市值': '7.20億', '市盈率<sup>MRQ</sup>': '47.18', '每股收益': '0.19', '總股本': '8080.00萬', '昨收': '34.94', '換手率': '5.78%', '最低': '34.89', '跌停': '31.45', '外盤': '7040手', '振幅': '2.83%', '量比': '--', '總市值': '28.78億', '市凈率': '4.64', '每股凈資產': '7.67', '流通股本': '2020.00萬', '股票名稱': '愛朋醫療300753'}
2019-08-08 22:16:31 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://gupiao.baidu.com/stock/sz300752.html> (referer: http://quote.eastmoney.com/stock_list.html)
2019-08-08 22:16:32 [scrapy.core.scraper] ERROR: Spider error processing <GET https://gupiao.baidu.com/stock/sz300752.html> (referer: http://quote.eastmoney.com/stock_list.html)
Traceback (most recent call last):
  File "d:\users\bj\appdata\local\programs\python\python36\lib\site-packages\scrapy\utils\defer.py", line 102, in iter_errback
    yield next(it)
  File "d:\users\bj\appdata\local\programs\python\python36\lib\site-packages\scrapy\spidermiddlewares\offsite.py", line 30, in process_spider_output
    for x in result:
  File "d:\users\bj\appdata\local\programs\python\python36\lib\site-packages\scrapy\spidermiddlewares\referer.py", line 339, in <genexpr>
    return (_set_referer(r) for r in result or ())
  File "d:\users\bj\appdata\local\programs\python\python36\lib\site-packages\scrapy\spidermiddlewares\urllength.py", line 37, in <genexpr>
    return (r for r in result or () if _filter(r))
  File "d:\users\bj\appdata\local\programs\python\python36\lib\site-packages\scrapy\spidermiddlewares\depth.py", line 58, in <genexpr>
    return (r for r in result or () if _filter(r))
  File "D:\pycodes\BaiduStocks\BaiduStocks\spiders\stocks.py", line 23, in parse_stock
    name = stockInfo.css('.bets-name').extract()[0]
IndexError: list index out of range
2019-08-08 22:16:36 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://gupiao.baidu.com/stock/sz300751.html> (referer: http://quote.eastmoney.com/stock_list.html)
2019-08-08 22:16:36 [scrapy.core.scraper] DEBUG: Scraped from <200 https://gupiao.baidu.com/stock/sz300751.html>
{'今開': '143.76', '成交量': '6559手', '最高': '143.76', '漲停': '156.59', '內盤': '4200手', '成交額': '9206.52萬', '委比': '76.86%', '流通市值': '18.12億', '市盈率<sup>MRQ</sup>': '28.52', '每股收益': '1.22', '總股本': '5200.00萬', '昨 收': '142.35', '換手率': '5.05%', '最低': '138.11', '跌停': '128.12', '外盤': '2635手', '振幅': '3.97%', '量比': '--', '總市值': '72.49億', '市凈率': '6.20', '每股凈資產': '22.47', '流通股本': '1300.00萬', '股票名稱': '邁為股份300751'}
2019-08-08 22:16:39 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://gupiao.baidu.com/stock/sz300750.html> (referer: http://quote.eastmoney.com/stock_list.html)
2019-08-08 22:16:39 [scrapy.core.scraper] DEBUG: Scraped from <200 https://gupiao.baidu.com/stock/sz300750.html>
{'今開': '74.00', '成交量': '3.84萬手', '最高': '74.18', '漲停': '80.66', '內盤': '2.28萬手', '成交額': '2.81億', '委比': '0.47%', '流通市值': '874.69億', '市盈率<sup>MRQ</sup>': '38.28', '每股收益': '0.48', '總股本': '21.94億', '昨收': '73.33', '換手率': '0.32%', '最低': '72.80', '跌停': '66.00', '外盤': '1.86萬手', '振幅': '1.88%', '量比': '--', '總市值': '1603.48億', '市凈率': '4.69', '每股凈資產': '15.59', '流通股本': '11.97億', '股票名稱': '寧德時代300750'}
2019-08-08 22:16:41 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://gupiao.baidu.com/stock/sz300749.html> (referer: http://quote.eastmoney.com/stock_list.html)
2019-08-08 22:16:41 [scrapy.core.scraper] DEBUG: Scraped from <200 https://gupiao.baidu.com/stock/sz300749.html>
{'今開': '12.46', '成交量': '1.90萬手', '最高': '12.59', '漲停': '13.72', '內盤': '1.17萬手', '成交額': '2370.88萬', '委比': '10.98%', '流通市值': '6.32億', '市盈率<sup>MRQ</sup>': '--', '每股收益': '0.01', '總股本': '2.05億', '昨收': '12.47', '換手率': '3.71%', '最低': '12.30', '跌停': '11.22', '外盤': '8044手', '振幅': '2.33%', '量比': '--', '總市值': '25.26億', '市凈率': '1.90', '每股凈資產': '6.48', '流通股本': '5130.00萬', '股票名稱': '頂固集創300749'}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM