Code Monkey home page Code Monkey logo

spider's Introduction

Spider

新浪微博爬虫(Sina weibo spider),百度搜索结果 爬虫

(有疑问请发 Issue,邮件可能无法及时回复)

使用方法:

环境:

python 版本 >=python3.5

mysql 版本 >= 5.5.3

pip 版本应与 python 一样

推荐使用虚拟环境:

cd weibo
chmod u+x env.sh
source env.sh

全局安装(不使用虚拟环境):

pip3 install -r requirements.txt

代码运行流程:

有两个爬虫程序 sina_spider.pyweibo_spider.py ,区别在于 weibo_spider.py 使用了 selenium ,可以自动登录并且访问网址不容易出现403,但是该程序要慢一些。所以建议首选 sina_spider.py,如果出现403,再改用weibo_spider.py。两个程序爬取的结果是一样的。

  • 采用 sina_spider.py 爬取的运行顺序:

0.若是使用的虚拟环境,每次运行前使用 source env.sh 命令进入虚拟环境

1.首先根据自己的情况修改 conf.yaml ,该文件内有详细说明,关于 uid 和 cookie的获取请见这篇文章

2.然后运行 Create_all.py 创建MySQL表

3.接着运行 sina_spider.py 爬取微博用户资料和动态并保存在数据库中

4.然后分别运行 Data_analysis.pyLDA_Analysis.py 对数据进行处理

5.得到数据处理结果(默认为 weibo.jpg,weibo_wordfrq.html,weibo_dynamic.html,lda.html)

  • 采用 weibo_spider.py 爬取的运行顺序:

0.安装浏览器驱动,请先阅读我的这篇文章

1.若是使用的虚拟环境,每次运行前使用 source env.sh 命令进入虚拟环境

2.首先根据自己的情况修改 conf.yaml ,该配置文件内有详细说明,不需要cookies,但是需要填写用户名和密码,修改目标uid,然后可以根据需要修改 MySQL 配置

3.然后运行 Create_all.py 创建MySQL表

4.接着运行 weibo_spider.py 爬取微博用户资料和动态并保存在数据库中

5.然后分别运行 Data_analysis.pyLDA_Analysis.py 对数据进行处理

6.得到数据处理结果(默认为 weibo.jpg,weibo_wordfrq.html,weibo_dynamic.html,lda.html)

具体说明请见源码。

本项目系列文章

关于本项目代码以及处理的具体思路可以阅读作者的这三篇文章:

爬虫实战(一):爬取微博用户信息

爬虫实战(二):Selenium 模拟登录并爬取信息

爬虫实战(三):微博用户信息分析

更为详细的说明请见源码及注释。

微博用户信息分析

可以爬取微博用户个人资料以及动态信息。

数据分析:

  • 生成词云
  • 统计词频
  • 统计活跃时间
  • 使用 LDA 构建了微博主题模型
  • 更多功能...

UI:

  • 生成良好的UI数据分析与展示界面

更多功能还在开发中,程序也在不断重构中.... 代码行数++

代码结构

├── baidu_result
│   └── baidu_result.py	#根据关键词爬取百度搜索结果
├── LICENSE
├── README.md
└── weibo
    ├── conf.yaml			#配置文件
    ├── Connect_mysql.py	#连接数据库
    ├── Create_all.py		#创建MySQL表
    ├── data_analysis		
    │   ├── data			
    │   │   └── stop_words.txt	#中文停用词
    │   ├── Data_analysis.py	#根据微博用户动态进行词云和词频分析
    │   ├── HYQiHei-25J.ttf		#用于生成中文词云的字体
    │   └── LDA_Analysis.py		#使用LDA进行微博动态主题建模与分析
    ├── Delete_users.py			#删除不在conf.yaml配置文件中的微博用户及其动态
    ├── env.sh					#该脚本可以使程序运行在虚拟环境中
    |── get_cookies.py			#模拟登录微博并获取cookies
    ├── __init__.py
    ├── requirements.txt		#项目依赖文件
    ├── sina_spider.py			#爬取微博用户资料和动态并保存在数据库中(速度快)
    └── weibo_spider.py			#爬取微博用户资料和动态并保存在数据库中(效果好)

数据分析示例

词云:

weibo.jpg

词频分析:

weibo_wordfrq.gif

微博动态时间统计:

weibo_dynamic.gif

微博主题分析(LDA):

lda.gif

协议

本项目遵从MIT协议

spider's People

Contributors

starfalll avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.