Skip to content

heicks/github-crawler

 
 

Repository files navigation

NOTE:

deprecated! DOT NOT USE!

github-crawler

github crawler.

目录结构:

├── twcrawler
│   ├── scrapy.cfg
│   └── twcrawler
│       ├── add_proxy.py
│       ├── add_task.py
│       ├── bin
│       ├── conf
│       ├── exc.py
│       ├── extentions
│       ├── htmlfiles
│       ├── __init__.py
│       ├── items.py
│       ├── metric.py
│       ├── middleware
│       ├── mysettings.py
│       ├── pipelines.py
│       ├── proxy_provider
│       ├── proxy_setting.py
│       ├── run.sh
│       ├── scheduler.py
│       ├── settings.py
│       ├── spiders
│       ├── task_queue.py
│       ├── tests.py
│       ├── tools
│       └── utils.py
items.py

爬虫存储的数据结构,在代码里直接 import twcrawler.items.XXXITEM

在 items.py 里编写自己定义的 Item 就可以了,内部有例子。

pipelines.py

定义输出,直接在 mysettings.py 里面配置, 搜 ITEMPIPELINES 那一个配置。

在 pipelines.py 编写自己定义的 PipeLine 就可以了,内部有例子。

spider/***

每个模块就是一个爬虫,一次只会启动一个爬虫,所有的解析只会调用对象的 parse 方法。 如果要使用 add_task.new_task ,需提供一个 build_url 的方法来生成 url。 用的时候直接 new_task(string),然后放进去的东西会经过调用 build_url(string) 后返回的 url 来送到爬虫引擎进行爬取。 string 的构造由使用者自己决定,build_url 的解析也由使用者决定。不提供的话默认返回 string(即你可以直接不提供 build_url 方法,直接 new_task(url_string) 就可以了。)

build_url 的用法见 spider/test/test.py 的例子。

example

twcrawler/twcrawler/spider/test/test.py

启动方法:

创建一个新爬虫

./bin/new_spider.py spider_name

然后爬虫会在 spiders 目录下生成

先配置 mysetting.py 中的 'SPIDER_NAME',即为你要跑的爬虫的 名字 (这个是定义在你的 爬虫模块里的,见 test.py 例子)。

然后配置 spiders/spider_name/setting.py 中的 SEEDS , 即种子 redis 服务器 的 地址。

然后启动种子服务器上的 redis

如果使用了代理的话启动 add_proxy.py

然后运行 ./run.sh

About

github crawler. Note: deprecated, DO NOT USE !

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.2%
  • Shell 1.4%
  • Java 0.4%