通过前面两章的熟悉,这里开始实现具体的爬虫代码
广西人才网
以广西人才网为例,演示基础爬虫代码实现,逻辑:
- 配置Rule规则:设置allow的正则-->设置回调函数
- 通过回调函数获取想要的信息
具体的代码实现:
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
这样即可完成基础的正则和信息抓取工作,至于Item和Pepiline和之前的写法一样。