本文获取的字段有为职位名称,公司名称,公司地点,薪资,发布时间

创建爬虫项目

  1. scrapy startproject qianchengwuyou
  2.  
  3. cd qianchengwuyou
  4.  
  5. scrapy genspider -t crawl qcwy www.xxx.com

items中定义爬取的字段

  1. import scrapy
  2.  
  3. class QianchengwuyouItem(scrapy.Item):
  4. # define the fields for your item here like:
  5. job_title = scrapy.Field()
  6. company_name = scrapy.Field()
  7. company_address = scrapy.Field()
  8. salary = scrapy.Field()
  9. release_time = scrapy.Field()

qcwy.py文件内写主程序

  1. import scrapy
  2. from scrapy.linkextractors import LinkExtractor
  3. from scrapy.spiders import CrawlSpider, Rule
  4. from qianchengwuyou.items import QianchengwuyouItem
  5.  
  6. class QcwySpider(CrawlSpider):
  7. name = 'qcwy'
  8. # allowed_domains = ['www.xxx.com']
  9. start_urls = ['https://search.51job.com/list/000000,000000,0000,00,9,99,python,2,1.html?']
  10. # https://search.51job.com/list/000000,000000,0000,00,9,99,python,2,7.html?lang=c&postchannel=0000&workyear=99&cotype=99&degreefrom=99&jobterm=99&companysize=99&ord_field=0&dibiaoid=0&line=&welfare=
  11. rules = (
  12. Rule(LinkExtractor(allow=r'https://search.51job.com/list/000000,000000,0000,00,9,99,python,2,(\d+).html?'), callback='parse_item', follow=True),
  13. )
  14.  
  15. def parse_item(self, response):
  16.  
  17. list_job = response.xpath('//div[@id="resultList"]/div[@class="el"][position()>1]')
  18. for job in list_job:
  19. item = QianchengwuyouItem()
  20. item['job_title'] = job.xpath('./p/span/a/@title').extract_first()
  21. item['company_name'] = job.xpath('./span[1]/a/@title').extract_first()
  22. item['company_address'] = job.xpath('./span[2]/text()').extract_first()
  23. item['salary'] = job.xpath('./span[3]/text()').extract_first()
  24. item['release_time'] = job.xpath('./span[4]/text()').extract_first()
  25. yield item

pipelines.py文件中写下载规则

  1. import pymysql
  2.  
  3. class QianchengwuyouPipeline(object):
  4. conn = None
  5. mycursor = None
  6.  
  7. def open_spider(self, spider):
  8. print('链接数据库...')
  9. self.conn = pymysql.connect(host='172.16.25.4', user='root', password='root', db='scrapy')
  10. self.mycursor = self.conn.cursor()
  11.  
  12. def process_item(self, item, spider):
  13. print('正在写数据库...')
  14. job_title = item['job_title']
  15. company_name = item['company_name']
  16. company_address = item['company_address']
  17. salary = item['salary']
  18. release_time = item['release_time']
  19. sql = 'insert into qcwy VALUES (null,"%s","%s","%s","%s","%s")' % (
  20. job_title, company_name, company_address, salary, release_time)
  21. bool = self.mycursor.execute(sql)
  22. self.conn.commit()
  23. return item
  24.  
  25. def close_spider(self, spider):
  26. print('写入数据库完成...')
  27. self.mycursor.close()
  28. self.conn.close()

settings.py文件中打开下载管道和请求头

  1. ITEM_PIPELINES = {
  2. 'qianchengwuyou.pipelines.QianchengwuyouPipeline': 300,
  3. }
  1. USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2'

运行爬虫,同时写入.json文件

  1. scrapy crawl qcwy -o qcwy.json --nolog

查看数据库是否写入成功,

done.

爬取前程无忧网站上python的招聘信息。的更多相关文章

  1. Python爬取前程无忧网站上python的招聘信息

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 我姓刘却留不住你的心 PS:如有需要Python学习资料的小伙伴可以 ...

  2. python 爬虫之爬取大街网(思路)

    由于需要,本人需要对大街网招聘信息进行分析,故写了个爬虫进行爬取.这里我将记录一下,本人爬取大街网的思路. 附:爬取得数据仅供自己分析所用,并未用作其它用途. 附:本篇适合有一定 爬虫基础 crawl ...

  3. Python爬虫之爬取慕课网课程评分

    BS是什么? BeautifulSoup是一个基于标签的文本解析工具.可以根据标签提取想要的内容,很适合处理html和xml这类语言文本.如果你希望了解更多关于BS的介绍和用法,请看Beautiful ...

  4. python爬取当当网的书籍信息并保存到csv文件

    python爬取当当网的书籍信息并保存到csv文件 依赖的库: requests #用来获取页面内容 BeautifulSoup #opython3不能安装BeautifulSoup,但可以安装Bea ...

  5. python爬虫06 | 你的第一个爬虫,爬取当当网 Top 500 本五星好评书籍

    来啦,老弟 我们已经知道怎么使用 Requests 进行各种请求骚操作 也知道了对服务器返回的数据如何使用 正则表达式 来过滤我们想要的内容 ... 那么接下来 我们就使用 requests 和 re ...

  6. Python爬虫爬取全书网小说,程序源码+程序详细分析

    Python爬虫爬取全书网小说教程 第一步:打开谷歌浏览器,搜索全书网,然后再点击你想下载的小说,进入图一页面后点击F12选择Network,如果没有内容按F5刷新一下 点击Network之后出现如下 ...

  7. 使用python爬取东方财富网机构调研数据

    最近有一个需求,需要爬取东方财富网的机构调研数据.数据所在的网页地址为: 机构调研 网页如下所示: 可见数据共有8464页,此处不能直接使用scrapy爬虫进行爬取,因为点击下一页时,浏览器只是发起了 ...

  8. [转]使用python爬取东方财富网机构调研数据

    最近有一个需求,需要爬取东方财富网的机构调研数据.数据所在的网页地址为: 机构调研 网页如下所示: 可见数据共有8464页,此处不能直接使用scrapy爬虫进行爬取,因为点击下一页时,浏览器只是发起了 ...

  9. Python爬虫项目--爬取自如网房源信息

    本次爬取自如网房源信息所用到的知识点: 1. requests get请求 2. lxml解析html 3. Xpath 4. MongoDB存储 正文 1.分析目标站点 1. url: http:/ ...

随机推荐

  1. Salesforce 开发整理(四)记录锁定

    如果一个对象的记录在满足某个条件的情况下,希望能对其进行锁定,即普通用户没有权限对其进行编辑操作,记录页面显示如下图 一般会在提交审批,或者项目进行到某个阶段的情况下,由后台进行判断要不要锁定记录,或 ...

  2. 设计模式主目录 C++实现

    行为性模式 1.观察者模式 结构型模式    ----  组合的艺术 1.外观模式

  3. Gamma阶段项目展示

    Gamma阶段项目展示 一. 团队成员介绍 姓名 Gamma职责 个人博客 张圆宁 PM,后端 个人博客 王文珺 后端 个人博客 牛宇航 后端 个人博客 申化文 后端 个人博客 汪慕澜 测试,部署 个 ...

  4. Java基础之十六 数组

    数组:可以创建并组装它们,通过使用整型索引值访问它们的元素,并且它们的尺寸不能改变. 16.1 数组为什么特殊 数组与其他种类的容器之间的区别有三方面:效率,类型和保存基本类型的能力. 数组是一种效率 ...

  5. 【2019年05月13日】A股ROE最高排名

    个股滚动ROE = 最近4个季度的归母净利润 / ((期初归母净资产 + 期末归母净资产) / 2). 查看更多个股ROE最高排名. 兰州民百(SH600738) - 滚动ROE:86.45% - 滚 ...

  6. Shell脚本之五 基本运算符

    Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 ...

  7. cad.net 图层隐藏 IsHidden 用法 eDuplicateRecordName 报错

    提要:影响图层显示的主要有:关闭        isOff冻结        IsFrozen 图层隐藏 isHidden视口冻结 FreezeLayersInViewport 今天小博发现了一件事情 ...

  8. SpringBoot系列教程web篇Servlet 注册的四种姿势

    原文: 191122-SpringBoot系列教程web篇Servlet 注册的四种姿势 前面介绍了 java web 三要素中 filter 的使用指南与常见的易错事项,接下来我们来看一下 Serv ...

  9. 解决wireshark抓包校验和和分片显示异常

    问题描述: 在使用wireshark抓取报文时,发现从10.81.2.92发过来的报文绝大部分标记为异常报文(开启IPv4和TCP checksum) 分析如下报文,发现http报文(即tcp pay ...

  10. Matlab匿名函数

    Matlab可以通过function去定义一些功能函数,这使得代码变得简洁和高效.但是如果遇到的是一些简单的数学公式组成的函数表达式,继续用function去定义函数,似乎显得有些冗杂和多余.这时候, ...