社区
PHP
帖子详情
正则匹配,抓取粉丝数
暁悠
2017-08-17 04:50:40
比如这个链接:https://shop68194009.m.taobao.com/
如何抓取这个店铺的粉丝数?
php语言
...全文
113
回复
打赏
收藏
正则匹配,抓取粉丝数
比如这个链接:https://shop68194009.m.taobao.com/ 如何抓取这个店铺的粉丝数? php语言
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
分布式爬虫框架Cola.zip
Cola是一个分布式的爬虫框架,用户只需编写几个特定的函
数
,而无需关注分布式运行的细节。任务会自动分配到多台机器上,整个过程对用户是透明的。pip install pyyaml安装下载或者用git clone源码,假设在目录/to/pth/cola,将该路径添加到Python path中。一种简单的方法是在site-packages中添加pth文件。site-packages因系统而异,如果是windows,假设python 装在C:\python27,那么就是C:\python27\Lib\site-packages;如果是linux,那么应该是/usr/local /lib/pythonX.X/dist-packages。在site-packages下新建一个cola.pth文件,里面写上路径:/to/path/cola。Cola目前自带了若干个爬虫,在项目根目录下的contrib中。下面就wiki为例,分别说明如何在单机和分布式环境下运行。依赖无论是维基百科还是新浪微博的实现,
数
据都存放在MongoDB中,所以要确保MongoDB的安装。在wiki下的wiki.yaml和weibo下的weibo.yaml中可以配置MongoDB的主机和端口。维基百科和新浪微博实现依赖于下面的几个包:mechanizepython-dateutilBeautifulSoup4mongoenginersa(仅新浪微博需要)可以使用pip或者easy_install来安装。单机模式单机模式非常简单,只需运行contrib/wiki/__init__.py即可。cd /to/path/cola/contrib/wiki python __init__.py要运行新浪微博的爬虫,需要在weibo.yaml中配置登录的用户名和密码。这里要注意,要保证这个用户名和密码在登录时不需要验证码。停止则需运行stop.py,注意不能通过直接杀死进程来停止,否则会导致cola非法关闭。 如果非法关闭,确保cola不在运行的情况下,则可以运行stop.py来恢复。但无论如何,都不推荐非法关闭,否则可能遇到不可预知的错误。python stop.py分布式模式首先需要启动cola master和cola workers。分别运行根目录下bin中的start_master.py和start_worker.py启动cola master:cd /to/path/cola python bin/start_master.py --data /my/path/data如果不指定--data,那么
数
据文件会放置在项目根目录下的data文件夹中。启动cola worker:python bin/start_worker.py --master
--data /my/path/data--data选项同master。如果不指定master,会询问是否连接到本机master,输入yes连接。最后使用bin下的coca.py来运行指定的Cola job:python bin/coca.py -m
-runLocalJob /to/path/cola/contrib/wiki-runLocalJob选项是要运行的job所在文件夹的绝对路径。输入命令后,该job会被提交到Cola集群来运行。停止Cola Job或集群停止整个集群,则可以运行:python bin/coca.py -m
-stopAll而停止一个Job,则需要查询得到Job的名称:python bin/coca.py -m
-showRunningJobsNames得到名称后,再运行:python bin/coca.py -m
-stopRunningJobByName
基于Cola实现的爬虫基于Cola实现的爬虫位于contrib/目录下。目前实现了四个爬虫:wiki:维基百科。weibo:新浪微博爬虫。从初始用户出发,然后是其关注和
粉丝
,依次类推,
抓取
指定个
数
的新浪微博用户的微博、个人信息、关注和
粉丝
。其中,用户微博只获取了内容、赞的个
数
、转发和评论的个
数
等等,而没有具体去获取此微博被转发和评论的内容。generic(unstable):通用爬虫,只需配置,而无需修改代码。目前Cola实现了一个抽取器(cola/core /extractor),能够从网页正文中自动抽取主要内容,即去除类似边栏和底脚等内容。但是,此抽取器目前准确度还不够,效率也不够高,所以需要谨慎 使用。weibosearch(unstable):新浪微博搜索的爬虫。这个爬虫使用 cola.core.opener.SpynnerOpener,基于spynner实现了一个Opener能够执行JavaScript和Ajax代 码。目前这个爬虫存在的问题是:新浪微博可能会将其识别成机器人,因此有可能会让输入验证码。wiki和weibo之前有所提及。主要说明generic和weibosearch。对于generic来说,主要要修改的就是配置文件:job: patterns: - regex: http://blog.sina.com.cn/$ name: home store: no extract: no - regex: http://blog.sina.com.cn/s/blog_. name: article store: yes extract: yes其中,regex表示要匹配的url的正则表达式;name是
正则匹配
的名称;store为yes时是存储这个网页,no为不存储;extract表示是否自动抽取网页正文,只有当store为yes的时候,extract才有作用。对于weibosearch,其使用了spynner来执行JavaScript和Ajax代码。所以需要确保以下依赖的安装:PyQt4(>=4.4.3)spynner如果你觉得可以基于cola实现一个比较通用的第三方爬虫,比如说腾讯微博等等,欢迎将此爬虫提交到contrib/中。编写自定义Cola Job见wiki编写自定义Cola Job。架构和原理在Cola集群里,当一个任务被提交的时候,Cola Master和Worker会分别启动JobMaster和JobWorker。对于一个Cola Job,当JobWorker启动完成后,会通知JobMaster,JobMaster等待所有JobWorker启动完成后开始运行Job。在一个 Cola Job启动时,会启动一个消息队列(Message Queue,主要操作是put和get,worker
抓取
到的对象会被put到队列中,而要
抓取
新的对象时,只要从队列中取即可),每个 JobWorker上都存在消息队列节点,同时会有一个去重模块(bloom filter实现)。Cola还不够稳定,目前会处于持续改进的状态。且Cola还没有在较大规模的集群上测试,但是接下来我会把Cola应用到新项目中,并逐步完善。也希望大家也能给我反馈,并帮助改进。Roadmap0.1版本正式推出前不会再增加新的功能了,主要目标让Cola更加稳定,并且提高cola/core/extractor的性能和精确度,完善contrib/generic和contrib/weibosearch。0.2版本计划:实现一个web接口,可以查看运行的cola job以及运行情况简化安装,支持easy_install或者pip安装。增加解决依赖库安装的机制。0.3版本计划:增加一个统一持久化抽象,支持保存到关系型
数
据库,MongoDB,文件系统,HDFS等等。0.4版本计划:支持Python 3 标签:Cola
java的正则表达式
1 正则表达式的规则 字符类: [abc] 代表匹配abc其中任意一个字符。 [^abc] 代表匹配除abc以外的任意一个字符。 [a-c] 代表匹配abc其中任意一个字符。 [a-cA-C] 代表匹配小写abc或大写ABC中任意一个字符。 预定义字符: \d 代表匹配0-9之间任意一个
数
字。 \D 代表非
数
字。 \w 代表匹配[a-zA-Z_0-9]中任意一个字符。 \W 代表匹配除了[a-zA...
带你学会使用正则表达式
正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。 本门课程主要讲解正则表达式的引用场景和一些基础用法,让...
用requests和正则表达式
抓取
猫眼电影
数
据
但这种办法有一些缺点,比如网站的源码中对于缺失
数
据的处理不合预期时,就可能导致某些字段出现缺失
数
据,这样不同字段的
数
据列表长度就产生了差异,我们就无法简单地进行合并了。可以看到,最古老的电影是1939年上映的由费雯·丽主演的《乱世佳人》,鼎鼎大名,名不虚传。
数
洞更感兴趣的,是最新的电影《英雄本色》,这部电影面世三十多年之后,经过4K技术的修复,在国内正式上映,着实赚了不少忠实
粉丝
的眼泪。到此为止,我们就完成了猫眼TOP100的
抓取
,也进行了简单的描述统计分析,下次我们再考虑下其他的网页解析工具的使用。
剖析遍历
抓取
的html标签
数
据,Swfit爬虫通过作者ID无接口获取简书文章列表,
正则匹配
HTML标签存储模型
数
据...
上篇文章写过Python爬虫的方法,用的Scrapy框架。Python--Scrapy爬虫获取简书作者ID的全部文章列表
数
据最近闲来想用Swift写个瀑布流然后展示一些
数
据,奈何没有测试接口,后来想到可不可自己从HTML网页获取
数
据并展示出来呢?当然,理论上是可行的,只要拿到HTML源码,通过正则表达式是可以匹配到我们想要的
数
据的。随后经过断断续续几天的开发,完成了一个小demo,我会分三部分写大...
PHP
20,359
社区成员
19,658
社区内容
发帖
与我相关
我的任务
PHP
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
复制链接
扫一扫
分享
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
php
phpstorm
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章