通過前面兩章的熟悉,這里開始實(shí)現(xiàn)具體的爬蟲代碼
廣西人才網(wǎng)
以廣西人才網(wǎng)為例,演示基礎(chǔ)爬蟲代碼實(shí)現(xiàn),邏輯:
- 配置Rule規(guī)則:設(shè)置allow的正則-->設(shè)置回調(diào)函數(shù)
- 通過回調(diào)函數(shù)獲取想要的信息
具體的代碼實(shí)現(xiàn):
import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule
class GxrcSpider(CrawlSpider):
name = 'gxrc'
allowed_domains = ['www.gxrc.com']
start_urls = ['http://www.gxrc.com/']
rules = (
Rule(LinkExtractor(allow=r'WebPage/Company.*'),follow=True,callback='parse_company'), # 配置公司正則
Rule(LinkExtractor(allow=r'WebPage/JobDetail.*'), callback='parse_item', follow=True), # 配置職位正則
)
def parse_item(self, response):
""" 獲取職位信息 """
i = {}
i['job_name'] = response.css('h1#positionName::text').extract_first("") # 職位名稱
return i
def parse_company(self, response):
""" 獲取公司信息 """
i = {}
i['company_name'] = response.css('.inner h1::text').extract_first("") # 公司名稱
return i
這樣即可完成基礎(chǔ)的正則和信息抓取工作,至于Item和Pepiline和之前的寫法一樣。