Ajax请求
我们去腾讯招聘网站去找有关python的招聘信息,在搜索框输入python,接口变成:
我们用这个接口直接去请求网页资源的话,会发现没有数据,只抓到了网页的框架。
在爬虫文件tencent.py中键入以下代码,
# -*- coding: utf-8 -*-
import scrapy
from Tencent.items import TencentItem
class TencentSpider(scrapy.Spider):
name = 'tencent'
allowed_domains = ['careers.tencent.com']
#接口
base_url='https://careers.tencent.com/search.html?keyword=python'
def parse(self, response):
#将response响应的内容存到context
content = response.text
#将context的内容写入到job.html文件
with open('job.html', 'w', encoding='utf-8') as fp:
fp.write(content)
#尝试用xpath筛选节点
nodelist = response.xpath('//div/a[@class="recruit-list-link"]').extract()
#直接筛选得不到任何数据,所以for循环中的代码不会执行,nodelist为空
for node in nodelist:
#创建一个item实例
item = TencentItem()
#提取每个职位的信息,编码为utf-8
item['positionName'] = response.xpath('.//h4[@class="recruit-title"]/text()').extract()[0].encode("utf-8")
item['positionName_'] = res