思路總結
第一次請求就攜帶cookie,其實他之前有302重定向的如果網路卡的情況下你就會發現,cookie就是這個請求設定的,但是不知道為啥,最開始的請求隱藏掉了
首先boss加了反爬
是cookies的
爬取的內容為職位和職位描述
# -*- coding: utf-8 -*-
import scrapy
from boss.items import bossitem
class boss01spider(scrapy.spider):
name = 'boss_01'
start_urls = ['']
#修改第一次請求
def start_requests(self):
cookies = "自己填寫自己的cookies"
cookies =
yield scrapy.request(
self.start_urls[0],
callback=self.parse,
cookies=cookies
)def parse_detail(self,response):
data=response.xpath('//*[@id="main"]/div[3]/div/div[2]/div[2]/div[1]/div/text()').extract()
all_data=''
for i in data:
all_data+="\n"+i
item = response.meta['item']
item['job_content']=all_data
yield item
def parse(self, response):
job_list=response.xpath('//div[@class="job-list"]/ul/li')
for i in job_list:
item = bossitem()
#爬取崗位名稱和詳情的url
job_name=i.xpath('./div/div/h3/a/div[@class="job-title"]/text()').extract_first()
job_url=i.xpath('./div/div/h3/a/@href').extract_first()
job_all_url=""+job_url
item['job_name']=job_name
yield scrapy.request(job_all_url, callback=self.parse_detail,meta=)
scrapy框架3 請求傳參
當使用scrapy爬取的資料不在同一張頁面中 一次請求與資料後解析無法獲得想要的全部資料 需要請求傳參,在第一次解析時例項化item,將item傳遞,再次將請求到的資料解析後,封裝在item中。關鍵點yield scrapy.request callback self.parse detail,ur...
爬蟲 2020 10 10 scrapy請求傳參
使用場景 爬取的資料不在同一頁面中。也就是說爬取的目標可能在詳情url中,即深度爬取。1.第一步 實現方法 重寫乙個解析詳情頁的parse方法,在原始parse方法下,手動進行請求傳送中,加入meta引數,即可將item傳遞給解析詳情頁的parse方法。就是將不同頁面解析返回的item封裝到同乙個i...
axios 請求傳參
let params params 1.get 請求不傳參 eg this.axios.get then res 2.get 請求攜帶引數 get 請求攜帶引數,攜帶斜槓後引數 例如id id this.axios.get 動態的id then res get 攜帶請求引數,問號後邊的引數 例如 e...