All Projects → billvsme → Videospider

billvsme / Videospider

Licence: mit
抓取豆瓣,bilibili等中的电视剧、电影、动漫演员等信息

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Videospider

Bilili
🍻 bilibili video (including bangumi) and danmaku downloader | B站视频(含番剧)、弹幕下载器
Stars: ✭ 379 (+103.76%)
Mutual labels:  bilibili, spider
Animesearcher
整合第三方网站的视频和弹幕资源, 为白嫖党提供最佳看番追剧体验
Stars: ✭ 101 (-45.7%)
Mutual labels:  bilibili, spider
Bili Spider
📺 B 站全站视频信息爬虫
Stars: ✭ 414 (+122.58%)
Mutual labels:  bilibili, spider
yutto
🧊 一个可爱且任性的 B 站视频下载器(bilili V2)
Stars: ✭ 383 (+105.91%)
Mutual labels:  spider, bilibili
Decryptlogin
APIs for loginning some websites by using requests.
Stars: ✭ 1,861 (+900.54%)
Mutual labels:  bilibili, spider
douban-movie
Get movie info from douban(豆瓣) and display in your terminal
Stars: ✭ 17 (-90.86%)
Mutual labels:  spider, douban
Douban spider
一个简单的豆瓣信息爬虫😄
Stars: ✭ 8 (-95.7%)
Mutual labels:  spider, douban
bilibili-smallvideo
🕷️用于爬取B站前top100的小视频
Stars: ✭ 133 (-28.49%)
Mutual labels:  spider, bilibili
Bilibili member crawler
B站用户爬虫 好耶~是爬虫
Stars: ✭ 115 (-38.17%)
Mutual labels:  bilibili, spider
Douban Movie
Golang爬虫 爬取豆瓣电影Top250
Stars: ✭ 114 (-38.71%)
Mutual labels:  spider, douban
Bilibili manga download
带图形界面的哔哩哔哩漫画下载工具
Stars: ✭ 52 (-72.04%)
Mutual labels:  spider, bilibili
Scrapy demo
all kinds of scrapy demo
Stars: ✭ 128 (-31.18%)
Mutual labels:  spider, sqlalchemy
goSpider
some small project and some articles
Stars: ✭ 56 (-69.89%)
Mutual labels:  spider, douban
Rsshub
🍰 Everything is RSSible
Stars: ✭ 18,111 (+9637.1%)
Mutual labels:  bilibili, douban
where-is-douban250
🐛 一个爬虫程序,整理了腾讯视频、爱奇艺、优酷、哔哩哔哩等视频网站中,能够观看的「豆瓣电影 Top250 榜单」影片。
Stars: ✭ 123 (-33.87%)
Mutual labels:  bilibili, douban
Bilibili Api
哔哩哔哩的API调用模块
Stars: ✭ 704 (+278.49%)
Mutual labels:  bilibili, spider
Biliutil
Bilibili.com视频批量下载工具包
Stars: ✭ 212 (+13.98%)
Mutual labels:  bilibili, spider
Geetest
滑动验证码,希望对你们有所帮助❤️
Stars: ✭ 114 (-38.71%)
Mutual labels:  bilibili, spider
Douban crawler
备份豆瓣计划
Stars: ✭ 124 (-33.33%)
Mutual labels:  spider, douban
Bilibili User Information Spider
B站3亿用户信息爬虫(mid号,昵称,性别,关注,粉丝,等级)
Stars: ✭ 136 (-26.88%)
Mutual labels:  bilibili, spider

videoSpider

ENV LICENSE Travis
分布式视频信息爬虫,从豆瓣,bilibili等收集电视剧、电影、动漫、演员等信息, 使用requests, BeautifulSoup, gevent, SQLAlchemy, Alembic, celery

Install

首先因为选择使用使用lxml解析html, 安装lxml库前需要安装相关c库

sudo apt-get install libxml2-dev libxslt-dev python-dev
sudo apt-get build-dep python3-lxml

注意用python3

virtualenv tv -p python3
. tv/bin/activate
git clone https://github.com/billvsme/videoSpider
cd videoSpider
pip install -r requirements.txt

Usage

注意使用python3 首先,设置配置config.ini

cp config/config_dev.ini config/config.ini
vim config/config.ini

config_dev.ini 默认配置,可以运行,最好自己修改一下(比如celery的backend)。

[database]
database_url = sqlite:///tv.db  #数据库
test = false                    #是否输出SQLAlchemy 信息
[photo]
path = ./photo                  #下载图片存放等位置
[qiniu]                         #七牛的配置
access_key = xxxx              
secret_key = xxxx
bucket_name = xxxx
[celery]                        #celery 配置
backend = db+sqlite:///celery_backend.sqlite     
broker = sqla+sqlite:///celery_borker.sqlite

然后生成数据库

alembic upgrade head

然后运行Celery

celery -A tasks worker  --loglevel=info

抓取电影、电视剧、动漫 信息(video)

python start.py video

抓取演员信息

python start.py celebrity

下载电影、电视剧、动漫、演员的图片到本地(大概需要10个小时, 40G)

python start.py down-image

上传图片到七牛

python start.py upload-image

创建Whoosh索引

python start.py whoosh

Doc

代码的文件结构

.
├── README.md
├── alembic
├── alembic.ini         # alembic.ini 配置文件,注意无需修改其中的'sqlalchemy.url'
├── config              # 存放配置信息
├── helpers             # 存放一些公共的函数 
├── models              # model层
├── start.py            # cmdline
├── tasks.py            # 定义Celery任务
└── webs                # 存放各个网站的代码
    ├── bilibili
    │   ├── parsers     # 定义html解析函数
    │   └── tasks       # 调用parsers, 把解析出来的数据保存到数据库
    └── douban
        ├── parsers
        └── tasks

model

model

流程

流程

遇到的坑

  1. SQLAlchemy 多进程问题: http://docs.sqlalchemy.org/en/rel_1_0/core/pooling.html, 而且要注意更新session, 这就是为什么config中使用一个名叫sqla的字典来保存session和engine
  2. sqlite 对 alter 支持有问题。所以alembic 如果使用sqlite 注意: https://alembic.readthedocs.org/en/latest/batch.html
  3. alembic.ini 中的配置信息,可以在alembic/env.py 中使用config.set_main_option 定义
  4. lxml 安装: http://lxml.de/installation.html
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].