网站破解权限 渗透劫持 黑客数据
5.01K subscribers
572 photos
1 video
51 links
Download Telegram
永远是一个程序员应该做到的,但我们不能做到每天去查看,于是就诞生了这个repo(更正为原作者写了这个repo),我们将爬虫挂在Linux服务器上,定期爬取并且推送到自己的repo上,只要有时间,就可以看到之前的所有热门项目。
python相对于java等语言,最大的优势就在于其具有很大规模的封装良好的类库,可以让我们使用短短的几行代码,实现很多功能。这里列举几个常用的库和框架:

virtualenv: 创建独立 Python 环境的工具。
Beautiful Soup: 提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能 简单的说就是解析网页。
需要格外关注这几种类型之间的转换,我们知道python是一种弱数据类型语言,但不代表着它的数据类型可以混用,反而,正因为弱化了声明,才让有些操作更加容易出错,这时候我们需要做的,就是仔细阅读文档,熟悉不同的用法。
确实能拿到数据,一共有40多万条数据,每页10条,41336页。当你正喜出望外的时候,却发现只能获取最近50页的数据。把 page 参数改成 51
通过接口的方法返回的,但是老接口还能用 https://m.weibo.cn/api/comments/show?id={id}&page={page} , 这里的id只是某条微博的id, page 是分页参数。

于是尝试用这个接口去获取数据
数据获取的原理搞懂了, 就可以通过代码来实现,几十万条数据就能唰唰的爬下来了。

为了能够更好的做分析处理,我决定叫数据保存到MongoDB,它的好处就不介绍了,反正就是省事。
还有一个新接口,https://m.weibo.cn/comments/hotflow?mid=4477013081328252&max_id=330569188932643&max_id_type=0


这个接口也能拿到评论,mid 是某条微博的参数, max_id 是分页参数,这个参数可以从一个请求返回的数据中拿到
核心代码就那么几行,是不是觉得特别简单,如果你会写HelloWorld,那么这个代码对你来说也不难嘛,这对做产品、做运营的时候来说,
最后数据整整齐齐保存在数据库中
weixin_crawler是一款使用Scrapy、Flask、Echarts、Elasticsearch等实现的微信公众号文章爬虫,自带分析报告和全文检索功能,几百万的文档都能瞬间搜索。weixin_crawler设计的初衷是尽可能多、尽可能快地爬取微信公众的历史发文。
1
使用Python3编写
Python3 is used
爬虫框架为Scrapy并且实际用到了Scrapy的诸多特性,是深入学习Scrapy的不错开源项目
Made full use of scrapy, if you are struggling with scrapy this repo helps to spark
利用Flask、Flask-socketio、Vue实现了高可用性的UI界面。功能强大实用,是新媒体运营等岗位不错的数据助手
Flask、Flask-socketio、Vue are used to build a full stack project crawler
得益于Scrapy、MongoDB、Elasticsearch的使用,数据爬取、存储、索引均简单高效
Thanks to scrapy mongodb elasticsearch weixin_crawler is not only a crawler but also a search engine
支持微信公众号的全部历史发文爬取
Able to crawl all the history articles of any weixin official account
支持微信公众号文章的阅读量、点赞量、赞赏量、评论量等数据的爬取
weixin_crawler已经在Win/Mac/Linux系统下运行成功, 建议优先使用win系统尝试
weixin_crawler could work on win/mac/linux, although it is suggested to try on win os firstly

Insatall mongodb / redis / elasticsearch and run them in the background

downlaod mongodb / redis / elasticsearch from their official sites and install them
run them at the same time under the default configuration. In this case mongodb is localhost:27017 redis is localhost:6379(or you have to config in weixin_crawler/project/configs/auth.py)
Inorder to tokenize Chinese, elasticsearch-analysis-ik have to be installed for Elasticsearch
添加域名(虚拟主机),再上传程序到网站根目录,并给予755权限,程序下载:Github。然后新建数据库,打开域名,填入数据库信息,管理员密码等进行安装。
1.选取种子URL; 2.将这些URL放入待抓取URL队列; 3.从待抓取URL队列中取出待抓取在URL。解析DNS,而且得到主机的ip,并将URL相应的网页下载下来,存储进已下载网页库中。 4.分析已抓取URL队列中的URL,分析当中的其它URL,而且将URL放入待抓取URL队列,从而进入下一个循环。
数据采集、数据存储、动态网页爬取、APP爬取、验证码破解、模拟登陆、代理试用、爬虫框架、分布式爬取等等。 目前主流的网络爬虫工具是python,涉及的库和工具: 网页爬取:urlib、requests、aiohttp、Selenium、Splash 网页解析:re、lxml、Beautiful Soup、pyquest 数据存储:JSON、XML、CSV、MySQL、MongoDB、Redis Web组件:Flask、Tornado 处理反爬:Tesserocr、ADSLProxy、ProxyPool、PookiesPool APP爬取:Charles、mitmproxy、mitmdump、Appium 爬虫框架:pyspider、Scrapy、Scrapy-Redis、Scrapy-Splash 管理部署:Docker、Scrapyd、Scrapyd-API、Scrapyd-Client、Gerapy
path即为//*[@id="gt6_2"

源代码如下:
,下面我们就先用一个实例来说明一下爬虫的过程,当然这是一个非常简单的小案例,如果将来想要更加复杂的目标,涉及的技术就多了。 最近关注银行股,想要获取某一只银行股当前的市盈率是多少,这就是我们的目标了。这里我们用requests+xpath来实现

首先,我们的信息源是东方财富网,以浦发银行[代码:sh600000]为例
最后爬取不同城市的详细真实IT招聘岗位数据大约70万条,爬的时间也挺久
selenium爬取招聘岗位详细信息并进行数据清洗,这里我的chromedriver.exe版本是v110,一定选择浏览器所兼容支持的版本号。