Skip to content

wuruiliang/doubanSpider

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

豆瓣小组数据查询程序

目的:

方便从各种小组发布信息中找到自己需要的信息,减少肉眼过滤关键字的工作;

使用方式:

  1. 首先需要安装python和scrapy环境, 参考:https://docs.scrapy.org/en/latest/intro/install.html

  2. 项目目录下执行命令: scrapy crawl douban -a start_url=http://www.douban.com/group/xxxxx/discussion -a max_page=30 -a search_strs='XXX,XX' -a proxy='http://xxx.xxx.xxx.xxx:xxxx' 其中proxy参数可选, start_url为豆瓣小组第一页的路径,注意一定是带有页码的第一页,max_size为最多查询的页数, search_strs为过滤的关键字,以,隔开,强烈建议配置proxy以防IP被封禁;

  3. 运行结束后同一目录下会生成一个output.html文件,使用浏览器打开即可。

    你也可以使用docker来安装scrapy:

    1. 下载安装docker,参考https://docs.docker.com/get-docker/ ,根据操作系统选择安装docker;

    2. 项目路径下的Dockerfile已经创建好了scrapy的镜像文件,只需要在此目录下执行docker image build -t scrapy . 即可创建名为scrapy的docker镜像;

    3. 执行docker run -v /xxxx/xxx/doubanSpider:/usr/src/app/spider -w /usr/src/app/spider scrapy scrapy crawl douban -a start_url=https://www.douban.com/group/xxxxx/discussion -a search_strs='xxx,xx' -a max_page=50 -a proxy='xxx.xxx.xxx.xxx:xxxx'命令即可启动查询程序,其中/xxxx/xxx/doubanSpider为项目所在目录,其余参数含义见上文,运行完毕后同样会在此目录下生成output.htlm文件,使用浏览器打开即可。

登陆校验

豆瓣更新后未登陆用户不能查看小组较大页码的页面,爬取过程中会跳转到登陆页面。

解决方法:在浏览器中使用自己的账号登陆,通过开发者工具找到Cookies,找到其中dbcl2的值,在爬虫启动参数中增加: -a cookies='{"dbcl2":"xxxxxxyour_cookie_valuexxxxx"}', cookies格式为json,也可尝试添加其他cookie,我试着加这个就可以了。。

Releases

No releases published

Packages

No packages published