多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
抓取 http://sh.ganji.com/fang1 中的数据 在命令行中输入 ~~~ scrapy shell http://sh.ganji.com/fang1/ ~~~ 可以用response查看是否抓取成功,如果返回200的数据,说明抓取成功了 ~~~ >>> response <200 http://sh.ganji.com/fang1/> ~~~ 我们可以用view(response)来查看抓取的内容,在命令行中输入后,会用默认的浏览器打开抓取下来的网页 ~~~ view(response) ~~~ 如果我们要抓取网页中的某个数据,可以用response.xpath('元素/text()').extract()来获取,比如下面的命令就返回一个2600的文本 ~~~ >>> response.xpath('//*[@id="puid-2996870036"]/dl/dd[5]/div[1]/span[1]/text()').extract() ['2600'] ~~~ > 备注:xpath中的值,可以用谷歌浏览器打开网址后,按F12,在要抓取的目标上面Copy->copy xPath获取 如果我们要获取这个列表页中的所有价格数据,可以用上面的ID换成class获取一组元素,比如 ~~~ >>> response.xpath("//div[@class='f-list-item ershoufang-list']/dl/dd[5]/div[1]/span[1]/text()").extract() ['2600', '3900', '4000', '6200', '2500', '3500', '2300', '50000', '4000', '2600', '4700', '2900', '2300', '2800', '3500', '2800', '7500', '5300', '4000', '3900', '1200', '1350', '6800', '1950', '5000', '1700', '5500', '1500', '5700', '3500', '2000', '13500', '1000', '27000', '1950', '1800', '3500', '1800', '1100', '4000', '4000', '1150', '2100', '1600', '3500', '3900', '3500', '3500', '3300', '4700', '3300', '3300', '3800', '1400', '3090', '3800', '4000', '2000', '2800', '3300', '3100', '3500', '3200', '3500', '1380', '3500', '3200', '2800', '1200', '7200', '2000', '3100', '2500', '1000', '2200', '900', '1800', '1300', '1650', '1650', '1700', '1800', '1800', '1100', '4300', '1200', '10000', '3300', '1800', '3500', '3500', '6800', '4700', '3000', '1280'] >>> ~~~ 我们可以用len()来统计一共获取到几个,比如下面的代码统计出来是95个: ~~~ >>> len(response.xpath("//div[@class='f-list-item ershoufang-list']/dl/dd[5]/div[1]/span[1]/text()").extract()) 95 ~~~ 不显示log,可以用 ~~~ scrapy crawl --nolog xxx ~~~