做SEO怎么用好scrapy?python的爬虫框架,scrapy,收集效率相当高,一只蜘蛛跑一万url收集题目之类的10分钟不到就搞定了,当然了,不妨同时跑多只蜘蛛。
首先是scrapy的安装教程,就不搬砖了,直接贴上位置:
http://blog.csdn.net/pleasecallmewhy/article/details/19354723
而后是新建名目标教程:
http://blog.csdn.net/pleasecallmewhy/article/details/19642329
之后就不妨收集了。
在Scrapy里,运用的是叫做 XPath selectors的机制,它基于 XPath表明式。所以,假如要收集仍然要了解下Xpath(正则也行)。之后的事情就简单多了。底下融合自身写的一只爬虫来吧,这个应当是属于scrapy简单的爬虫了:
baidu_spider.py 取排名,题目,快照,和url(暂未引入其余模块获得真切url),当然,想取描述相同的,再写一个xpath法则,并在items.py中对应的肋下增添dec=Field()能够(拜见新建名目标教程)。
from scrapy.spider import Spider
from scrapy.selector import Selector
from tutorial.items import BaiduItem
class BaiduSpider(Spider):
name = "baidu"
allowed_domains = ["baidu.com"]
start_urls = ["http://www.baidu.com/s?q1=%BD%F0%B8%D5%C9%B0"]
def parse(self,response):
sel = Selector(response)
sites = sel.xpath('//div[@class="result c-container "]')
items = []
for site in sites:
item = BaiduItem()
item['num'] = site.re('(id="d{1,3}")')
item['title'] = site.xpath('h3/a/text()').extract()
item['link'] = site.xpath('h3/a/@href').extract()
item['date'] = site.re('�(d{4}-d{2}-d{2})�')
items.append(item)
return items
复制代码
运转号令:
json数据:
上边是一个简单的使用,在此基本上,咱们将以上代码改进,批量获得一些内容:
以爬某站的spider为例:
1、url.txt存储url,一行一个。读取后作为参数传给start_urls。
2、咱们要取的是他的全部h1,那么修正xpath表明式。
3、url.txt需求放在根目次下,蜘蛛也是在根目次下号令行运转。运转的号令为scrapy crawl mouzhan -o items.json -t json.(这里咱们保存成功了json格式,文件名叫做items.json)
from scrapy.spider import Spider
from scrapy.selector import Selector
from tutorial.items import MouzhanItem
class MouzhanSpider(Spider):
name = "mouzhan"
allowed_domains = ["mouzhan.com"]
start_urls = open('url.txt','r').readlines()
def parse(self,response):
sel = Selector(response)
sites = sel.xpath('//h1/text()').extract()
items = []
for site in sites:
item = MouzhanItem()
item['h1'] = site
items.append(item)
return items
复制代码
收集到的数据:
后输送的文件是json格式(也不妨存储为csv等格式),编码是unicode,收集的中文在读取时处理下能够。测试的是一只蜘蛛10分钟1万url。不妨同时运转多只蜘蛛。这里没有研究ip代理,ua那些器材,不晓得是收集的网站没有限制仍然scrapy内部有处理,不过查了下,scrapy不妨自行配置代理的。
scrapy也只是刚接触,并未有更深的研讨,可是相对而言收集的速度相当快,我用beautifulsoup分析html收集的脚本要运转2个半小时才能收集1万数据,应当是不用给定url,在写的过程中制订法则就不妨让蜘蛛去爬的。
至于scrapy在seo上的使用,我也说不走出多少,起码用这个器材用来查排名应当不慢(杀鸡焉用牛刀),批量查收录之类的,收集效率也高,至于收集谁,收集回来的器材怎么用,看你自身了。ps(轻喷:原本我也不晓得学这器材做什么,反正我是小企业站,暂且不晓得用来做什么。)
本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/39344.html
如有侵犯您的合法权益请发邮件951076433@qq.com联系删除