前言 本次主题分两篇文章来介绍: 一.数据采集 二.数据分析 第一篇先来介绍数据采集,即用python爬取网站数据. 1 运行环境和python库 先说下运行环境: python3.5 windows 7, 64位系统 python库 本次智联招聘的网站爬取,主要涉及以下一些python库: requests BeautifulSoup multiprocessing pymongo itertools 2 爬取的主要步骤 根据关键字.城市.以及页面编号生成需要爬取的网页链接 用requests…
1.创建工程 scrapy startproject tencent 2.创建项目 scrapy genspider mahuateng 3.既然保存到数据库,自然要安装pymsql pip install pymysql 4.settings文件,配置信息,包括数据库等 # -*- coding: utf-8 -*- # Scrapy settings for tencent project # # For simplicity, this file contains only setting…
Item Pipeline 当Item在Spider中被收集之后,它将会被传递到Item Pipeline,这些Item Pipeline组件按定义的顺序处理Item. 每个Item Pipeline都是实现了简单方法的Python类,比如决定此Item是丢弃而存储.以下是item pipeline的一些典型应用: 验证爬取的数据(检查item包含某些字段,比如说name字段) 查重(并丢弃) 将爬取结果保存到文件或者数据库中 编写item 在items.py中进行编写 class JobBol…
爬取字段,公司名称,职位名称,公司详情的链接,薪资待遇,要求的工作经验年限 1,items中定义爬取字段 import scrapy class ZhilianzhaopinItem(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() company_name = scrapy.Field() jobName = scrapy.Field() company_url = scrapy…
1.  爬虫设计的技术 1)数据获取,通过http获取网站的数据,如urllib,urllib2,requests等模块: 2)数据提取,将web站点所获取的数据进行处理,获取所需要的数据,常使用的技术有:正则re,BeautifulSoup,xpath: 3)数据存储,将获取的数据有效的存储,常见的存储方式包括:文件file,csv文件,Excel,MongoDB数据库,MySQL数据库 2. 环境信息 1)python2.7 2)mongo2.6 3)使用模块包括re,requests,lx…
大二下实训课结业作业,想着就爬个工作信息,原本是要用python的,后面想想就用java试试看, java就自学了一个月左右,想要锻炼一下自己面向对象的思想等等的, 然后网上转了一圈,拉钩什么的是动态生成的网页,51job是静态网页,比较方便,就决定爬51job了. 前提: 创建Maven Project方便包管理 使用httpclient 3.1以及jsoup1.8.3作为爬取网页和筛选信息的包,这两个版本用的人多. mysql-connect-java 8.0.13用来将数据导入数据库,支持…
# -*- conding:utf-8 -*- # 1.两页的内容 # 2.抓取每页title和URL # 3.根据title创建文件,发送URL请求,提取数据 import requests from lxml import etree import time, random, xlwt # 专家委员会成员的xpath(‘//tbody//tr[@height='29']’) class Doc_spider(object): def __init__(self): self.base_url…
流程: 爬取的数据处理为列表,包含字典.里面包含中文, 经过json.dumps,保存到json文件中, 发现里面的中文显示未\ue768这样子 查阅资料发现,json.dumps 有一个参数.ensure_ascii =true,  它会将不是ascii字符的转义为json 字符串. 如果是false ,不是ascii字符的会包含在里面,即如果是中文就会保存中文. 但是我认为json这样写是有道理的. 用requests模块, requests.post(url,json=handled_da…
首先回顾一下MongoDB的基本操作: 数据库,集合,文档 db,show dbs,use 数据库名,drop 数据库 db.集合名.insert({}) db.集合名.update({条件},{$set:{}},{multi:true}) db.集合名.remove({条件}) db集合名.find({条件},{投影}).limit().skip().sort().count().distinct() 数据库 增加 修改 删除 查询 mysql insert update delete sel…
爬取python岗位智联招聘 这里爬取北京地区岗位招聘python岗位,并存入EXECEL文件内,代码如下: import json import xlwt import requests from queue import Queue from threading import Thread def producer(q,path): res1 = requests.get(path, headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0;…