做SEO怎么用好scrapy

b发哥66 101 字体: 放大 缩小

  做SEO怎么用好scrapy?python的爬虫框架,scrapy,收集效率相当高,一只蜘蛛跑一万url收集题目之类的10分钟不到就搞定了,当然了,不妨同时跑多只蜘蛛。

  首先是scrapy的安装教程,就不搬砖了,直接贴上位置:

  http://blog.csdn.net/pleasecallmewhy/article/details/19354723

  而后是新建名目标教程:

  http://blog.csdn.net/pleasecallmewhy/article/details/19642329

  之后就不妨收集了。

SEO

  在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为例:

SEO

  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(轻喷:原本我也不晓得学这器材做什么,反正我是小企业站,暂且不晓得用来做什么。)

「点点赞赏,手留余香」

赞赏

  • 狙殺山茴-
  • 南湖的蚊子
  • 洛灬heart
  • 一颗葡葡葡萄
  • 碎料哥
  • 6人赞过
6
1
0
评论 0 请文明上网,理性发言

相关文章