楼主: yusb
184 1

[经管数据集] Python爬虫程序源代码-京东新浪股票微博知乎微信等爬虫程序及其说明 [推广有奖]

巨擘

0%

还不是VIP/贵宾

-

威望
0
论坛币
19162 个
通用积分
1985.3031
学术水平
13 点
热心指数
25 点
信用等级
3 点
经验
74759 点
帖子
15115
精华
0
在线时间
9306 小时
注册时间
2020-12-8
最后登录
2024-6-16

楼主
yusb 在职认证  发表于 2023-11-25 16:38:35 |只看作者 |坛友微信交流群|倒序 |AI写论文
相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
Python爬虫程序源代码-京东新浪股票微博知乎微信等爬虫程序及其说明

Python爬虫程序源代码-京东新浪股票微博知乎微信等爬虫程序及其说明.zip (41.71 MB, 需要: RMB 19 元) 本附件包括:
  • scrapy_jingdong-master.zip
  • SinaSpider-master (1).zip
  • smart_login-master.zip
  • stockholm-master.zip
  • tbcrawler-master.zip
  • WechatSogou-master.zip
  • weiboLogin-master.zip
  • weibospider-1.7.2.zip
  • wooyun_public-master.zip
  • zhihu_spider-master.zip



7f2934eaf01594eac1320e8ade63e40.png


例如:

# zhihu_spider

此项目的功能是爬取知乎用户信息以及人际拓扑关系,爬虫框架使用scrapy,数据存储使用mongo,下载这些数据感觉也没什么用,就当为大家学习scrapy提供一个例子吧。

## 使用方法

### 本地运行

爬虫程序依赖mongo和rabbitmq,因此这两个服务必须正常运行和配置。为了加快下载效率,图片下载是异步任务,因此在启动爬虫进程执行需要启动异步worker,启动方式是进入zhihu_spider/zhihu目录后执行下面命令:

```
celery -A zhihu.tools.async worker --loglevel=info
```

### docker部署

进入zhihu_spider后执行```docker-composeup``` ,进入container后和本地运行方法相同,依次启动mongo、rabbitmq、异步任务、爬虫进程即可。docker采用的image可以参见我的另一个项目[spider-docker](https://github.com/LiuRoy/spider_docker)获取。

## 流程图

![流程图](doc/流程图.png)

* 请求[https://www.zhihu.com](https://www.zhihu.com)获取页面中的_xsrf数据,知乎开启了跨站请求伪造功能,所有的POST请求都必须带上此参数。
* 提交用户名,密码已经第一步解析的_xsrf参数到[https://www.zhihu.com/login/email](https://www.zhihu.com/login/email),登陆获取cookies
* 访问用户主页,以我的主页为例[https://www.zhihu.com/people/weizhi-xiazhi](https://www.zhihu.com/people/weizhi-xiazhi)


解析的用户信息包括昵称,头像链接,个人基本信息还有关注人的数量和粉丝的数量。这个页面还能获取关注人页面和粉丝页面。
* 由上一步获取的分页列表页面和关注人页面获取用户人际关系,这两个页面类似,唯一麻烦的是得到的静态页面最多只有二十个,获取全部的人员必须通过POST请求,解析到的个人主页再由上一步来解析。

## 代码解释

scrapy文档非常详细,在此我就不详细讲解,你所能碰到的任何疑问都可以在文档中找到解答。
![代码](doc/代码.png)

* 爬虫框架从start\_requests开始执行,此部分会提交知乎主页的访问请求给引擎,并设置回调函数为post_login.
* post\_login解析主页获取\_xsrf保存为成员变量中,并提交登陆的POST请求,设置回调函数为after\_login.
* after\_login拿到登陆后的cookie,提交一个start\_url的GET请求给爬虫引擎,设置回调函数parse\_people.
* parse\_people解析个人主页,一次提交关注人和粉丝列表页面到爬虫引擎,回调函数是parse\_follow,并把解析好的个人数据提交爬虫引擎写入mongo。
* parse\_follow会解析用户列表,同时把动态的人员列表POST请求发送只引擎,回调函数是parse\_post\_follow,把解析好的用户主页链接请求也发送到引擎,人员关系写入mongo。
* parse\_post\_follow单纯解析用户列表,提交用户主页请求至引擎。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python爬虫 python 新浪股票 源代码 container

沙发
sw-knight 发表于 2023-11-25 18:57:25 来自手机 |只看作者 |坛友微信交流群
yusb 发表于 2023-11-25 16:38
Python爬虫程序源代码-京东新浪股票微博知乎微信等爬虫程序及其说明
感谢分享

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加JingGuanBbs
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-6-17 03:56