Step1
首先当然要配置好scrapy啦,配置好以后在终端里新建项目
scrapy startproject weibo
然后打开items.py,我们在里面加入我们这次要爬下来的数据
ids = scrapy.Field()
comments = scrapy.Field()
reposts = scrapy.Field()
我们只是做一个小测试,爬取一下陈教主的微博首页的赞数,评论数等
Step2
爬取微博最好用手机版的,我们打开陈乔恩的微博,然后检查元素,看一下到底陈教主的微博首页有哪些信息。
啦啦啦!这就是我们要找的地方啦。
Step3
for sel in response.xpath('/html/body/div[@id]'):
item = WeiboItem()
item['ids'] = sel.xpath('div/a[contains(@href,\'attitude\')]/text()').extract()
item['comments'] = sel.xpath('div/a[contains(@href,\'comment\')]/text()').extract()
item['reposts'] = sel.xpath('div/a[contains(@href,\'repost\')]/text()').extract()
yield item
现在进入重头戏,爬虫主程序,首先当然给爬虫命个名,然后写一下要爬的网址的url,然后就是处理数据啦,根据前面那张html的结构,我们来看一下,选择xpath语句来找到我们想要的内容。
tips:
注意哦,xpath里面的contains可以帮助我们选择需要包含的属性!真是太tm好用了!
Step4
在终端里运行我们的小爬虫
scrapy crawl Weibo -o items.csv
这个语句会生成一个csv文件,一开始用excel打开会看到一堆乱码...不过不用担心,只是存储的时候用的unicode编码而已,我们用记事本打开瞬间就可以变成熟悉的中文了呢~~
总结
小爬虫终于搞定了呢,现在还只能爬取单个页面,下一步就是用它实现爬取多个页面啦~