boss直聘:
建立scrapy 專案:
scrapy startproject scrapyproject
建立spider檔案:
scrapy genspider s_boss zhipin.com
目錄1.找介面 url
2.s_boss.py
3.items.py
4.pipelines.py
page後面傳的是頁數
c101010100/?query=python&page={}&ka=page-next
# -*- coding: utf-8 -*-
import scrapy
from scrapyproject.items import bossitem
from lxml import etree
class sbossspider(scrapy.spider):
name = 's_boss'
allowed_domains = ['zhipin.com']
start_urls =
for page in range(1, 11):
url = 'c101010100/?query=python&page={}&ka=page-next'.format(page)
def parse(self, response):
content = response.body.decode('utf-8')
tree = etree.html(content)
li_list = tree.xpath('//div[@class="job-list"]/ul/li')
print(len(li_list))
for li in li_list:
item = bossitem()
# 職位名稱
title = li.xpath('.//a//text()')[1]
# 工資水平
salary = li.xpath('.//span/text()')[0]
# 職位要求
demand = li.xpath('.//div[@class="info-primary"]/p//text()')
demand_info = ' '.join(demand)
# 公司情況
company_name = li.xpath('.//div[@class="info-company"]//h3//text()')[0]
company_info = li.xpath('.//div[@class="info-company"]//p//text()')
company = company_name + ':' + ' '.join(company_info)
item['title'] = title
item['salary'] = salary
item['demand_info'] = demand_info
item['company'] = company
yield item
注意一下:在進行請求url的時候,需要請求頭,scrapy框架的請求頭需要在settings.py中設定:
在網頁上開啟network:
找到user_agent:
寫在settings.py的user_agent
需要在settings.py中配置pipeline
Scrapy實戰 爬Boss直聘
我們爬取頁面中每個公司的崗位資訊,包括職位 辦公地點 工作經驗 上圖中的11個加上boss直聘的jobid共12個資訊 開啟shell scrapy shell view response 發現返回403 嘗試把headers一併給出 from scrapy import request fetch...
scrapy請求傳參 BOSS反爬
思路總結 第一次請求就攜帶cookie,其實他之前有302重定向的如果網路卡的情況下你就會發現,cookie就是這個請求設定的,但是不知道為啥,最開始的請求隱藏掉了 首先boss加了反爬 是cookies的 爬取的內容為職位和職位描述 coding utf 8 import scrapy from ...
使用Scrapy框架爬取鏈家資料
coding utf 8 import scrapy from pachong6.items import pachong6item class lianjiaspider scrapy.spider name lianjia allowed domains m.lianjia.com start ...