案例(二)爬虫预热
项目二:用两种不同的方法爬取股票数据
方法二:scrapy爬虫框架
此案例是运用scrapy框架对相关内容进行抓取。
安装scrapy框架
打开cmd,输入以下代码进行安装:
pip install scrapy
验证是否安装成功:
scrapy -h
创建一个新的Scrapy爬虫工程
scrapy安装成功后,继续在cmd里输入代码创建工程。
将目录切换到想要创建爬虫项目的路径下,执行:
scrapy startproject baidustocks
执行完毕后,会在目录下生成一系列文件夹和.py等文件。
在工程中产生一个Scrapy爬虫
只需要在cmd中输入一行命令,我们需要指定爬虫的名字和爬取的网站。
cd baidustocks
scrapy genspider stocks hq.gucheng.com/gpdmylb.html
stocks为爬虫名
hq.gucheng.com/gpdmylb.html为爬取网站
完成后会生成一个名叫stocks.py的文件。
配置产生的spider爬虫
安照自己的需求修改该爬虫文件。
我以爬取股票数据为例:
# -*- coding: utf-8 -*-
import scrapy
import re
from scrapy.selector import Selector
class StocksSpider(scrapy.Spider):
name = 'stocks'
start_urls = ['https://hq.gucheng.com/gpdmylb.html']
def parse(self, response):
for href in response.css('a::attr(href)').extract():
try:
stock = re.search(r'S[HZ]\d{6}/', href)
url = 'https://hq.gucheng.com/' + stock.group()
yield scrapy.Request(url, callback=self.parse_stock)
except:
continue
def parse_stock(self, response)