网页源代码抓取工具(安装scrapy抓取步骤选择网站-->编写spider )
优采云 发布时间: 2022-01-21 17:08网页源代码抓取工具(安装scrapy抓取步骤选择网站-->编写spider
)
个人博客:
源地址:
爬虫:scrapy
刮痧介绍
Scrapy 是一个应用程序框架,用于抓取 网站 数据并提取结构化数据。它可以用于一系列程序,包括数据挖掘、信息处理或存储历史数据。它最初是为网页抓取(更准确地说,网页抓取)而设计的,但也可用于获取 API(例如 Amazon Associates Web 服务)或通用网络爬虫返回的数据。
安装scrapy
pip install Scrapy
爬行步骤
选择一个 网站 --> 定义数据 --> 写蜘蛛
首先用scrapy创建一个项目
scrapy startproject tutorial
选择一个网站
这里我们选择东方财富网的股票代码页:
定义要抓取的数据
我们需要获取股票的股票代码ID,所以只需定义stock_id
class StockItem(scrapy.Item):
stock_id = scrapy.Field()
写蜘蛛
class StockSpider(scrapy.Spider):
name = 'stock'
def start_requests(self):
url = 'http://quote.eastmoney.com/stocklist.html'
yield Request(url)
def parse(self, response):
item = StockItem()
print "===============上海================"
stocks_sh = response.css('div#quotesearch ul li a[href*="http://quote.eastmoney.com/sh"]::text')
for stock in stocks_sh:
item['stock_id'] = 's_sh' + re.findall('\((.*?)\)', stock.extract())[0]
yield item
print "===============深圳================"
stocks_sz = response.css('div#quotesearch ul li a[href*="http://quote.eastmoney.com/sz"]::text')
for stock in stocks_sz:
item['stock_id'] = 's_sz' + re.findall('\((.*?)\)', stock.extract())[0]
yield item
奥秘在于response.css('div#quotesearch ul li a[href*=""]::text'),它使用css来过滤你需要的数据。
运行程序
scrapy crawl stock -o stock.csv
可以生成 stock.csv 文件
预览如下:
stock_id
s_sh201000
s_sh201001
s_sh201002
s_sh201003
s_sh201004
s_sh201005
s_sh201008
s_sh201009
s_sh201010
s_sh202001
s_sh202003
s_sh202007
s_sh203007
s_sh203008
s_sh203009
…
如果要查询单只股票的股价,可以使用新浪的股票界面:
例如
您可以获得浪潮软件的股票报价
var hq_str_s_sh600756="浪潮软件,19.790,1.140,6.11,365843,70869";