Python爬虫 scrapy框架爬取某招聘网存入mongodb解析


Posted in Python onJuly 31, 2019

创建项目

scrapy startproject zhaoping

创建爬虫

cd zhaoping
scrapy genspider hr zhaopingwang.com

目录结构

Python爬虫 scrapy框架爬取某招聘网存入mongodb解析

items.py

title = scrapy.Field()
  position = scrapy.Field()
  publish_date = scrapy.Field()

pipelines.py

from pymongo import MongoClient

mongoclient = MongoClient(host='192.168.226.150',port=27017)
collection = mongoclient['zhaoping']['hr']

class TencentPipeline(object):
  def process_item(self, item, spider):
    print(item)
    # 需要转换为 dict
    collection.insert(dict(item))
    return item

spiders/hr.py

def parse(self, response):
    # 不要第一个 和最后一个
    tr_list = response.xpath("//table[@class='tablelist']/tr")[1:-1]
    for tr in tr_list:
      item = TencentItem()
      # xpath 从1 开始数起
      item["title"] = tr.xpath("./td[1]/a/text()").extract_first()
      item["position"] = tr.xpath("./td[2]/text()").extract_first()
      item["publish_date"] = tr.xpath("./td[5]/text()").extract_first()
      yield item

    next_url = response.xpath("//a[@id='next']/@href").extract_first()
    # 构造url
    if next_url != "javascript:;":
      print(next_url)
      next_url = "https://hr.tencent.com/" + next_url
      yield scrapy.Request(url=next_url,callback=self.parse,)

就是这么简单,就获取到数据

Python爬虫 scrapy框架爬取某招聘网存入mongodb解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
以Flask为例讲解Python的框架的使用方法
Apr 29 Python
Python检测网站链接是否已存在
Apr 07 Python
python 性能优化方法小结
Mar 31 Python
Python文本特征抽取与向量化算法学习
Dec 22 Python
Python中 传递值 和 传递引用 的区别解析
Feb 22 Python
Python基于pyCUDA实现GPU加速并行计算功能入门教程
Jun 19 Python
python如何以表格形式打印输出的方法示例
Jun 21 Python
Python PyCharm如何进行断点调试
Jul 05 Python
在python中使用pyspark读写Hive数据操作
Jun 06 Python
vscode+PyQt5安装详解步骤
Aug 12 Python
Python selenium实现断言3种方法解析
Sep 08 Python
Python matplotlib多个子图绘制整合
Apr 13 Python
python爬虫 模拟登录人人网过程解析
Jul 31 #Python
Python爬虫 bilibili视频弹幕提取过程详解
Jul 31 #Python
Django实现跨域的2种方法
Jul 31 #Python
Django CSRF跨站请求伪造防护过程解析
Jul 31 #Python
在VS2017中用C#调用python脚本的实现
Jul 31 #Python
使用pip安装python库的多种方式
Jul 31 #Python
python实现几种归一化方法(Normalization Method)
Jul 31 #Python
You might like
从零开始的异世界生活:第二季延期后,B站上架了第二部剧场版
2020/05/06 日漫
使用bcompiler对PHP文件进行加密的代码
2010/08/29 PHP
php开发时容易忘记的一些技术细节
2016/02/03 PHP
php+ajax无刷新上传图片的实现方法
2016/12/06 PHP
php+mysql开发中的经验与常识小结
2019/03/25 PHP
PHP如何获取Cookie并实现模拟登录
2020/07/16 PHP
Javascript 跨域访问解决方案
2009/02/14 Javascript
jquery入门必备的基本认识及实例(整理)
2013/06/24 Javascript
js 用CreateElement动态创建标签示例
2013/11/20 Javascript
AngularJS入门教程之学习环境搭建
2014/12/06 Javascript
JS控制表格实现一条光线流动分割行的方法
2015/03/09 Javascript
全面解析Bootstrap表单样式的使用
2016/09/09 Javascript
Vue2.0基于vue-cli+webpack Vuex的用法(实例讲解)
2017/09/15 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
js前端面试之同步与异步问题详解
2019/04/03 Javascript
JavaScript实现简单计算器功能
2019/12/19 Javascript
[07:52]2014DOTA2 TI逗比武士游V社解说背后的故事
2014/07/10 DOTA
[41:11]完美世界DOTA2联赛PWL S2 Inki vs Magma 第一场 11.22
2020/11/24 DOTA
[49:31]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第二场 1月29日
2021/03/11 DOTA
python检查序列seq是否含有aset中项的方法
2015/06/30 Python
Python正则表达式教程之二:捕获篇
2017/03/02 Python
Flask框架通过Flask_login实现用户登录功能示例
2018/07/17 Python
深入浅析Python中list的复制及深拷贝与浅拷贝
2018/09/03 Python
python实现AES和RSA加解密的方法
2019/03/28 Python
Python 音频生成器的实现示例
2019/12/24 Python
Python解释器以及PyCharm的安装教程图文详解
2020/02/26 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
2020/03/16 Python
详解用Python爬虫获取百度企业信用中企业基本信息
2020/07/02 Python
关于html字符串正则判断和匹配的具体使用
2019/12/12 HTML / CSS
最耐用行李箱,一箱永流传:Briggs & Riley(全球终身保修)
2017/12/07 全球购物
数以千计的折扣工业产品:ESE Direct
2018/05/20 全球购物
什么是smarty? Smarty的优点是什么?
2013/08/11 面试题
感恩教师节演讲稿
2014/09/03 职场文书
师德师风个人自我剖析材料
2014/09/27 职场文书
mysql 8.0.24版本安装配置方法图文教程
2021/05/12 MySQL
人工智能深度学习OpenAI baselines的使用方法
2022/05/20 Python