爬虫起因
前面两个星期,利用周末的时间尝试和了解了一下Python爬虫,紧接着就开始用Scrapy框架做了一些小的爬虫,不过,由于最近一段时间的迷茫,和处于对职业生涯的规划。以及对市场需求的分析,我通过网上查阅资料。对比较大的前程无忧和智联招聘进行了数据爬取。
这里我们以智联招聘为例做一些讲解。
前期准备
首先我在我自己做爬虫之前就已经规划好了我需要爬取什么数据,并且创建了数据库表,并提前对网页内容有大概的了解。其次处于对数据分析的考虑,我对我比较关系的字段例如,经验,学历,薪资等都要求尽量能够爬取到。最后,通过书本以及网络资源等各种工具了解Scrapy,正则表达式,Xpath,BeautifulSoup等各种知识,为后面做好爬虫打下了基础。
实战
在本次小练习中,我们主要会用到,piplines,items,和我们自己新建的Spider类,
items是针对实体的,与数据库表中最好具有对应关系,代码如下:
import scrapy
class ZhaopinItem(scrapy.Item):
jobname = scrapy.Field()
salary = scrapy.Field()
experience = scrapy.Field()
address = scrapy.Field()
comany_name = scrapy.Field()
head_count = scrapy.Field()
education_require = scrapy.Field()
comany_size = scrapy.Field()
job_require =scrapy.Field()
release_date = scrapy.Field()
piplines在本例中主要是对items进行数据操作的。代码如下:
import pymysql
from zhaopin import settings
class ZhaopinPipeline(object):
def __init__(self, ):
self.conn = pymysql.connect