爬虫
在互联时代,信息就是关键,学习爬虫来探索世界吧!以实际项目为例,助你掌握各种 Python 爬虫库及爬取思路、方法。
Steven·简谈
博观而约取,厚积而薄发
展开
-
Scrapy框架中Selector(选择器)的使用
用 Python 提取 HTML 源代码数据有很多现成的库,比如 lxml、BeautifulSoup、pyquery 等,当然如果会用正则表达式的话就不用在意这些了。而 Scrapy 框架则自带了专门的选择器 Selector,功能十分强大,并且可以根据输入类型自动选择最佳的解析规则。直接使用针对一段 HTML 代码,我们可以用如下方式构建 Selector 对象来提取数据:>&g...原创 2019-11-30 23:57:07 · 920 阅读 · 0 评论 -
Python多个爬虫库使用代理IP
使用爬虫时,如果目标网站对访问的速度或次数要求较高,那么你的 IP 就很容易被封掉,也就意味着在一段时间内无法再进行下一步的工作。这时候代理 IP 能够给我们带来很大的便利,不管网站怎么封,只要能找到一个新的代理 IP 就可以继续进行下一步的研究。目前很多网站都提供了一些免费的代理 IP 供我们使用,当然付费的会更好用一点。本文除了展示怎样使用代理 IP,也正好体验一下前面文章中搭建的代理 IP...原创 2019-10-24 07:30:28 · 6358 阅读 · 1 评论 -
Python搭建代理IP池(四)- 接口设置与整体调度
接口模块需要用 API 来提供对外服务的接口,当然也可以直接连数据库来取,但是这样就需要知道数据库的连接信息,不太安全,而且需要配置连接,所以一个比较安全和方便的方式就是提供一个 Web API 接口,通过访问接口即可拿到可用代理...原创 2019-10-17 12:23:48 · 2476 阅读 · 0 评论 -
Python搭建代理IP池(三)- 检测 IP
在获取 IP 时,已经成功将各个网站的代理 IP 获取下来了,然后就需要一个检测模块来对所有的代理进行一轮轮的检测,检测可用就设置为满分,不可用分数就减 1,这样就可以实时改变每个代理的可用情况,在获取有效 IP 的时候只需要获取分数高的 IP...原创 2019-10-16 23:11:27 · 3496 阅读 · 4 评论 -
Python搭建代理IP池(二)- 存储 IP
本文就讲解如何存储 IP,毕竟代理池还是要有一定量的 IP 数量才行。存储的方式有很多,直接一点的可以放在一个文本文件中,但操作起来不太灵活,而我选择的是MySQL 数据库,因为数据库便于管理而且功能强大,当然你还可以选择其他数据库,比如 MongoDB、Redis 等...原创 2019-10-15 23:59:42 · 2819 阅读 · 3 评论 -
Python搭建代理IP池(一)- 获取 IP
使用爬虫时,大部分网站都有一定的反爬措施,有些网站会限制每个 IP 的访问速度或访问次数,超出了它的限制你的 IP 就会被封掉。对于访问速度的处理比较简单,只要间隔一段时间爬取一次就行了,避免频繁访问;而对于访问次数,就需要使用代理 IP 来帮忙了,使用多个代理 IP 轮换着去访问目标网址可以有效地解决问题。目前网上有很多的代理服务网站可以提供代理服务,也提供一些免费的代理,但可用性较差,如果需...原创 2019-10-14 00:25:41 · 40090 阅读 · 21 评论 -
Python爬虫之Scrapy命令行工具
创建项目scrapy startproject [project] [project_dir]将在 project_dir 目录创建 project 项目,也可以不指定目录,项目就会直接创建在当前命令行路径中创建爬虫scrapy genspider [example] [example.com]// 例子scrapy genspider csdn csdn.net这是基于预先定...原创 2019-07-30 10:55:39 · 871 阅读 · 0 评论 -
Python爬虫之Scrapy框架的基本使用
新建项目进入自定义的项目目录中,运行创建命令:scrapy startproject spiderspider 为项目名称,可以看到将会创建一个 spider 文件夹,目录结构大致如下:spider/ scrapy.cfg # 项目的配置文件 spider/ # 项目的 Python 模块,与项目名称重名,将从这里引用代码 __init__.py...原创 2019-07-25 17:19:00 · 1397 阅读 · 0 评论 -
Python数据分析豆瓣电影Top250
初学数据分析,这次就来分析一下电影信息。豆瓣电影的实战项目网上文章也不少,不过还是要自己操作一下才能理解得更深刻一点,也顺便了解一下这些电影的特点。。项目涉及的是一个特殊的电影排行榜,能上榜的想必都是非常受欢迎的电影,毕竟豆瓣上的评分还有热度都是很有参考性的。所以在这里对这个排行榜的排列标准探索一下,当然也只是粗略地分析。豆瓣用户每天都在对“看过”的电影进行“很差”到“力荐”的评价,豆瓣根据每...原创 2019-02-18 21:13:47 · 15274 阅读 · 12 评论 -
Python备份CSDN博客的完整页面
在CSDN论坛发现了一个求助帖,帮忙修改一个备份CSDN博客的Python代码,应该是运行不了的代码。因为是很久以前的代码,而且是用python2写的,所以我并没有尝试运行就直接用Python3来进行改写。当然真正引发我兴趣的,是代码用了一个我以前没有见过的 chilkat 库,可以说有海量的功能,但网上对于它的描述比较少,所以我只能看官方文档,配合Google翻译和我蹩脚的英语水平,大致把需要用...原创 2019-02-12 17:32:12 · 4294 阅读 · 0 评论 -
Python爬虫之Requests库的使用
初学爬虫时用的就是requests库,毕竟用起来非常简单方便,而且功能很强大,使用的范围也很广,非常适合初学者学习。对于常见的许多网站,都可以很轻松地爬取,而且也便于对更深层次的学习打好基础。准备工作第三方库,采用pip可以很方便地安装:pip install requests初步使用requests的使用比urllib要简单且简短一点,获取网页信息直接采用 get() 方法:im...原创 2019-02-11 00:08:40 · 5927 阅读 · 0 评论 -
Python爬虫之Urllib库的使用
一直以来,对urllib库的使用次数很少,初学时便是用的requests库。相比较而言,requests库功能更加强大而且使用起来也很简单,非常适合初学者学习。那么有人可能会问为什么还要了解urllib库呢?因为这是Python内置的HTTP请求模块,可以加深自己对爬虫和其它库的认知和理解,并且运行速度也比较快。当然使用上还是更加推荐requests,稍后会写一篇来介绍requests库。本文只...原创 2019-02-10 19:36:48 · 4175 阅读 · 0 评论 -
Python爬虫之Selenium库的使用
Selenium是一个自动化测试工具,支持各种浏览器,包括Chrome、Firefox等主流浏览器。使用它就可以模拟浏览器进行各种操作,包括用它来爬取一些内容。当你看到浏览器自己运行并且在网页上翻页或者跳转的时候,应该会觉得很有趣。Selenium 2,又名 WebDriver,它的主要新功能是集成了 Selenium 1.0 以及 WebDriver(WebDriver 曾经是 Seleni...原创 2019-02-03 22:02:43 · 36317 阅读 · 4 评论 -
Python查询12306车次信息
本来用PyQt5做了一个方便的查询界面,不过这篇文章主要来介绍爬取功能,就不把Qt代码贴出来了。查询车次的脚本还是比较简单的,只是访问一下车次信息而已,不需要用到Cookie和Session这些信息。首先把过程写出来:1.分析查询需要的信息参数2.找到查询的链接3.写代码4.测试首先分析网站通过抓包可以知道查询请求的网址链接,比如:https://kyfw.12306.cn/otn...原创 2019-01-23 20:00:21 · 5551 阅读 · 8 评论