# -*- coding: utf-8 -*-
import scrapy
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from scrapy.http import Request
class DpSpiderSpider(scrapy.spider.Spider):
name = "dp_spider"
allowed_domains = ["dianping.com"]
#只抓取前3个url以做演示,如果需要抓取更多,可以用yield创建更多得Request。
start_urls = []
for i in range(1,3):
start_urls.append('http://www.dianping.com/search/category/1/10/o10p'+str(i))
#需要处理的http状态
handle_httpstatus_list = [404,403]
def parse(self, response):
print '\n'
print 'crawl url = ', response.url
#403错误,禁止抓取,则暂停10分钟
if response.status == 403:
print 'meet 403, sleep 600 seconds'
import time
time.sleep(600)
yield Request(response.url, callback=self.parse)
#404,页面不存在,直接返回即可
elif response.status == 404:
print 'meet 404, return'
#正常处理
else:
hxs = scrapy.Selector(response)
xs = hxs.xpath('//ul[@class=\"shop-list J_shop-list\"]/li')
for x in xs:
shopid = x.xpath('a/@href').extract()[0].split('/')[-1]
print 'shopid = ', shopid
shopname = x.xpath('a/img/@title').extract()[0]
print "shopname = ", shopname
python 2.x; scrapy spider; 京东数据抓取;大众点评网数据抓取;豆瓣数据抓取.zip
需积分: 5 65 浏览量
2024-04-25
23:11:02
上传
评论
收藏 5KB ZIP 举报
生瓜蛋子
- 粉丝: 3824
- 资源: 5235
最新资源
- 计算机视觉(CV)open CV 人脸识别程序.docx
- python 端午节游戏,选择三个传统的端午节活动之一:包粽子、赛龙舟或挂艾草 根据玩家的选择,游戏会描述相应的情节,并在完成后
- C语言各版块实验题库、实验汇报以及实验教学案例资源
- 数据库连接(MySQL与VS2022)_vs2022 mysql-CSDN博客 (2024_6_1 19_11_34).html
- Flappy bird小游戏
- 数电实验五:555单稳态触发电路、555单稳态触发电路、555构成的施密特触发器
- MySQLTuner,一个用Perl编写的脚本,它允许你快速审查MySQL安装情况,并进行调整以提高性能和稳定性
- 冒泡排序 基础排序 插入排序 快速排序 双路快速排序 三路快速排序 堆排序.zip
- 数电实验四:加法计数器、减法计数器、加法器、建议数字钟、74LS192功能测试
- JSP基于网络超市商品销售管理系统的设计与实现(源代码+lw).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈