Scrapy爬取数据
昨天练习了一个简单例子,今天进行进一步的学习——爬取同域下的多个网页。
对 Tencent 的招聘信息进行爬取:
腾讯招聘
可以看到需要的信息都在< tbody >下的class为even和odd< tr > 标签中。
< tr > 中的需求的数据为职位名、职位链接、职位人数、职位类别、工作地点和发布日期。
使用xpath可以很容易得到这些数据的获取方式:
数据集:xpath(“//tr[@class=’even’] | //tr[@class=’odd’]”)
职位名:xpath(“./td[1]/a/text()”)
职位链接:xpath(“./td[1]/a/@href”)
职位人数:xpath(“./td[3]/text()”)
职位类别:xpath(“./td[2]/text()”)
工作地点:xpath(“./td[4]/text()”)
发布日期:xpath(“./td[5]/text()”)
1.爬取方式一
新建工程Tencent
scrapy startproject Tencent
cd myproject创建spider
scrapy genspider Tenspider “tencent.com”
修改setting
# Obey robots.txt rules ROBOTSTXT_OBEY = False
ITEM_PIPELINES = { 'Tencent.pipelines.TencentPipeline': 300, }
编写管道
import jso