菜鸟独白

爬虫很有趣,很多同学都在学爬虫,其实爬虫学习有一定的成本,需要考虑静态和动态网页,有一堆的库需要掌握,复杂的需要用scrapy框架,或者用selenium爬取,甚至要考虑反爬策略。如果你不经常爬数据,偶尔用用的话,有一种神器可以非常快速的爬取,分分种上手而且效果很不错的。今天我们就来介绍一下这款神奇"WebScrapy"

安装WebScrapy

跟其他的第三方的数据采集器相比,WebScrapy是一款Google chrome的浏览器的插件,安装成本非常小.直接去WebScrapy官网下载,也可以在chrome里面的store下载.

安装完成之后,你就可以在你的chrome浏览器上看到一个小的蜘蛛网的图标

爬取Github上的Python库

大名鼎鼎的Github上有很多好玩的库,有几十万个repo.爬取的方法有很多,但是用webscrape爬取非常简单,几分钟就能完成!相比之下如果写一个代码去爬取的就是非常熟练的老手,也需要半个小时才能完成,代码还需要调试。可见神器真的非常方便,成本非常的低,下面我们一步一步来讲解:

1.目标网站分析

Github的网站结构非常简单,也没有啥反爬虫的策略,我们在主页搜索Python就会进入Python相关的主题页面

里面有关于Python的Repo近60万个,每一个都有名字,多少颗星,更新时间等等,非常工整的格式.

2.url分析

上面的类别有很多比如Repositories, Code这样的,我们挑其中的一种点击查看:

p=1(表示page为第一页)

q=python(表示查询的是Python)

type=Repositories(表示查的Repo)

然后看一下页面最底端有100页.

3.启动Webscrapy

网页空白处点击右键选择检查,会进入我们属性网页审查元素的那个界面,在最末尾多一个webscraper菜单,点击Create sitemap创建一个sitemap

接着我们填入名字和url的地址,这里的url规则非常简单,我们可以直接构造出100个url的网页,名字可以随便取我们就叫github

webscrapy会根据url的规则爬取每一页的内容,类似一个循环。

4.爬取每一页的内容

Github上的Python的库都是一个一个规整的大列表,webscrapy支持很多类型的不同网页元素的爬取,比如文本,超链接,图片,Element等等,真是用心良苦啊,考虑的非常周全.

1). 增加一个selector

选择我们的Sitemap是Github,然后开始增加一个selector

2).创建item

首先id取一个名字:item

然后选择Type里面,我们选择Element

接着选Selector 这个最简单,就是去网页上点点,这里面我是把每一行的Python库(包括名字,多少颗星,发布时间等等)全部都在一个红色框里

最后点击Done selecting,不要激动哈,记得点Save selector保存.

3).在item里面选择标题,时间,多少颗星

上面我创建了item,item就想是一个收纳架里面有我们需要的内容,我们只需要在这个收纳架上取我们需要的内容,比如标题,时间等等

4).在item下创建标题

过程和创建item的非常类似,只是Type选择Text,然后点击Selector从上面的橘黄色的框中选标题,然后点击Done selecting,记得保存.(注意这里的Parents Selector 选的item)****,大家不要小看这个Parent Selector,会有大用场.

5).类似的我们选取库的description,多少颗,时间元素

5.开始爬取

万事具备,我们可以开始愉快的爬取了,只需要点击Sitemap下面的Scrape就可以了。接着会弹出一个请求间隔时间(Request nterval ms) 2秒和页面下载等待时间(Page load delay ms)500,我们都用默认参数就可以了

1).看运行结果

WebScrapy会从第100页开始从后往前一页一页的爬取,这个时候你可以倒杯茶,慢悠悠的边喝茶边等待结果,爬取100页大概需要几分钟的时间.

可以看到我们非常方便的获取的Python库的名字,多少颗星,时间和描述,是不是很简单啊,现在还差最后一招,保存结果。

2). 保存结果

上面的结果是在内存里面的,最后我们需要保存到文件里面,webscraper已经帮我们准备好了,点击sitemap里面的Export data as CSV,然后就会自动生成一个github.csv文件,我们下载就行了

结论:

是不是非常的爽啊,你只要构造多个url就可以爬几万的库,webscrapy对于爬取市面上80%的页面都是非常方便和简单,不用写一行代码,分分钟搞定!对于数据分析的人员来说简直就是福音啊,但是webscrapy也是有利有弊,每一种技术都有它的使用范围.我用它有一段时间了,至少有3个缺点,欢迎大家留言跟我一起讨论.

目前wx搜索Python 【菜鸟学Python】排第二,汇聚了30万Python爱好者,累计原创近400篇趣味干货(爬虫,数据分析,算法,面试指南,原创趣味实战,Python游戏,机器学习),欢迎一起学Python,交流指正。

python自己写库1001python自己写库_超酷!我不写一行代码,爬取GitHub上几万的Python库...相关推荐

  1. Python爬虫利用18行代码爬取虎牙上百张小姐姐图片

    Python爬虫利用18行代码爬取虎牙上百张小姐姐图片 下面开始上代码 需要用到的库 import request #页面请求 import time #用于时间延迟 import re #正则表达式 ...

  2. 利用Python爬取github上commits信息

    爬取github上commits在1200次以上的用户及commits分布情况 简介 准备 抓取用户个人页面 获取commits信息 打印符合条件用户最近一周commits信息 反爬虫问题 总结 简介 ...

  3. python爬上市公司信息_实战项目 1:5 行代码爬取国内所有上市公司信息

    实战项目 1:5 行代码爬取国内所有上市公司信息 Python入门爬虫与数据分析 在正式开始这门专栏课的学习之前,我们先来看一个简单的爬虫案例.兴趣是最好的老师,当你对爬虫产生兴趣的时候,才会更有动力 ...

  4. 入门级别的Python爬虫代码 爬取百度上的图片

    简单讲解下python爬取百度图片的方法还有一些小坑(ps:我是搞.net的所以python只是新手讲错勿怪,注意:系统是windows下的) 首先讲下对百度图片上请求的分析:这里我引用下别人的博客, ...

  5. python爬取bilibili弹幕_GitHub - yxwangnju/Bilibili-Bullet-Screen-Crawler: 一个爬取bilibili上弹幕的简单python程序...

    Bilibili Bullet Screen Crawler 用python语言实现了一个简单的哔哩哔哩弹幕爬虫程序. 1. 运行环境 python 3 and higher versions. 运行 ...

  6. 【Python爬虫系列教程 11-100】Python网络爬虫实战:最简单的Pandas 中的read_html一行代码爬取网页表格型数据,就可以爬取虎扑体育NBA球员信息

    文章目录 爬取对象 分析 实现代码 爬取对象 虎扑是一个认真而有趣的社区,每天有众多JRs在虎扑分享自己对篮球.足球.游戏电竞.运动装备.影视.汽车.数码.情感等一切人和事的见解,热闹.真实.有温度. ...

  7. 2020 年 GitHub 上那些优秀 Android 开源库,这里是 Top10! | 原力计划

    作者 | 依然饭特稀西 责编 | 郭芮 出品 | CSDN博客 每过一段时间呀,我都会给大家带来一些从Github上收集的一些开源库,有的是炫酷动效,有的则是实用的工具和类库.2020年有哪些优秀的开 ...

  8. android思维导图github,2020年GitHub 上那些优秀Android开源库,这里是Top10!

    前言 每过一段时间呀,我都会给大家带来一些从Github上收集的一些开源库,有的是炫酷动效,有的则是实用的工具和类库.以前没看过或者没有收藏的同学,建议先收藏,以下是链接: No1. LiquidSw ...

  9. android dialog动画_2020年GitHub 上那些优秀Android开源库,这里是Top10!

    前言 每过一段时间呀,我都会给大家带来一些从Github上收集的一些开源库,有的是炫酷动效,有的则是实用的工具和类库.以前没看过或者没有收藏的同学,建议先收藏,以下是链接: [Android珍藏]推荐 ...

最新文章

  1. linux那些事之TLB(Translation-Lookaside Buffer)无效操作
  2. 这样做,免费从Oracle同步数据
  3. 在 Visual Studio .NET 中使用 SQL Server 2000 创建数据库应用程序(1)
  4. matlab mex gcc 支持c99
  5. 利用FGSM实现对抗样本攻击
  6. sap系统登录时没有服务器,SAP登录到SAP系统
  7. AutoCAD如何自动加载dll文件
  8. PS制作gif动图教程
  9. MUX-VLAN隔离技术
  10. 电脑WIFI密码获取
  11. storm apache_Apache Storm很棒。 这就是为什么(以及如何)使用它的原因。
  12. 腾讯云服务器手动建立WordPress个人站点Windows系统教程-Unirech腾讯云国际版代充
  13. 怎么检查新买的mac是不是原封正品
  14. 虚幻4渲染编程(环境模拟篇)【第三卷:体积云天空模拟(3)---高层云】
  15. ESD与压敏电阻的性能对比
  16. Greenplum执行计划
  17. MySQL 架构与内部模块
  18. 来答疑了!关于网易云信 Innovation 2022 开发者大赛,你想知道的都在这儿!
  19. 推荐10个在线logo设计网站
  20. 几款特别好看的springboot快速开发模板

热门文章

  1. 迪赛智慧数——柱状图(堆叠柱状图):各年龄段人群服装消费频次
  2. 数字电路建模与模拟实训
  3. 雷达成像 Matlab 仿真 3 —— 多目标检测
  4. 我想跳槽了,该怎么办?,flutter路由切换动画
  5. 火力篮球游戏源码完整版--采用标准的游戏开发文档
  6. OBS注册与OSC配置
  7. 先进云计算网络架构基本要求
  8. 饶毅:中国存在大量粗制滥造研究生的问题,很多博士不合格
  9. 精美UI强大娱乐功能组合微信小程序源码下载,安装简单
  10. MyBatis+Servlet编程时遇到Could not initialize class xxxx问题