本文将介绍从Ruby到Python:Crawlers的详细情况,特别是关于rubyonrailspython的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及
本文将介绍从Ruby到Python:Crawlers的详细情况,特别是关于ruby on rails python的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于Crawlab 准备之 python+scrapy 环境搭建、CrawlerProcess与CrawlerRunner、Groovy中的Crawler(JSoup VS Crawler4j)、How to Device a Crawler in Python的知识。
本文目录一览:- 从Ruby到Python:Crawlers(ruby on rails python)
- Crawlab 准备之 python+scrapy 环境搭建
- CrawlerProcess与CrawlerRunner
- Groovy中的Crawler(JSoup VS Crawler4j)
- How to Device a Crawler in Python
从Ruby到Python:Crawlers(ruby on rails python)
过去几天,我已经开始学习python。我想知道用python编写爬虫的等效方法。
所以在红宝石中我使用:
nokogiri
用于抓取html并通过css标签获取内容Net::HTTP
并Net::HTTP::Get.new(uri.request_uri).body
从URL获取JSON数据
python中的这些等效项是什么?
答案1
小编典典好
主要是,您必须将“抓取器”
/抓取器(将从Web服务器下载文件/数据的python库/程序/函数)和将读取此数据并解释数据的解析器分开。就我而言,我必须抓取并获得一些“公开”的政府信息,但这些信息对下载/数据不友好。对于这个项目,我使用了scrapy
[1]。
主要是设置“ starter_urls”,即我的机器人将抓取/获取的URL,并在使用函数“解析器”检索/解析此数据之后。
对于解析/检索,您将需要一些html,lxml提取器,因为90%的数据就是这样。
现在关注您的问题:
用于数据爬网
- cra草
- 请求[2]
- Urllib [3]
用于解析数据
- Scrapy / lxml或scrapy + other
- lxml [4]
- 美丽汤[5]
并且请记住“抓取”,抓取不仅适用于网络,也适用于电子邮件。您可以在此处查看有关此问题的另一个问题[6]
[1] = http://scrapy.org/
[2] -http://docs.python-requests.org/en/latest/
[3]
-http://docs.python.org/library/urllib.html
[4] -http://lxml.de/
[5]
-http://www.crummy.com/software/BeautifulSoup/
[6]
-Python读取我的Outlook电子邮件邮箱并解析消息
Crawlab 准备之 python+scrapy 环境搭建
阅读文本大概需要 3 分钟。
上篇《分布式爬虫管理平台 Crawlab 开发搭建》把爬虫的管理后台搭建起来了;捣鼓一番发现要真正爬取数据还有下不少的功夫。这篇看看怎么搭建 python+scrapy 环境。
0x01:安装 Python3
下载 python 安装包,具体版本根据自己的系统要求
https://www.python.org/downloads/windows/
下载安装完成后直接 cmd 输入 python,可正常查看版本
注:安装过程中请注意一定要请勾选 pip 安装并加入到环境变量中,否则后续无法正常安装第三方类库。
0x02:安装爬虫所需的一些常用类库
安装 selenimu 自动化 web 包,cmd 进入任意目录,执行
pip install selenium
安装 pymysql 连接 mysql 包,cmd 进入任意目录,执行。方便以后把爬取的数据插入数据库
pip install pymysql
安装 pillow 图片处理包
pip install pillow
备注:pillow 官网
https://pillow.readthedocs.io/en/latest/installation.html
安装 pypiwin32 操作底层 dll 包
pip install pypiwin32
安装 requests 发送 web 请求包
pip install requests
安装 scrapy 爬虫框架包
pip install scrapy
备注:安装爬虫框架必须依赖的第三方类库 Twisted,在使用 pip 安装时会出现下载文件失败而无法安装问题,可以先下载 Twisted 安装文件。然后使用 pip install 安装 Twisted。
pip install 下载 Twisted 文件绝对路径
下载地址如下(下载与 Python 版本匹配的 whl 文件):
https://www.lfd.uci.edu/~gohlke/pythonlibs/
安装解析网页内容包
pip install bs4
0x03:验证 scrapy 是否安装成功
进入 cmd,输入 scrapy 查看 scrapy 是否安装成功
0x04:创建爬虫项目
创建项目,只需一行命令即可创建名为 tutorial 的 Scrapy 项目:
scrapy startproject tutorial
tutorial 项目的目录结构大概如下:
创建爬虫的模板文件
进入 ./tutorial/tutorial 执行:
scrapy genspider QuoteSpider "http://www.baidu.com"
QuoteSpider 是文件名,http://www.baidu.com 是要爬取的域名, ./tutorial/tutorial/spiders 目录下生成一个 QuoteSpider.py 文件。文件内容如下:
修改一下 QuoteSpider.py 文件:
import scrapy
class QuotespiderSpider(scrapy.Spider):
name = ''QuoteSpider''
# 允许爬取的域名
# allowed_domains = [''landchina.mnr.gov.cn'']
start_urls = [''http://landchina.mnr.gov.cn/scjy/tdzr/index_1.htm'']
def parse(self, response): # resonse相当于从网络中返回内容所存储的或对应的对象
fname = response.url.split(''/'')[-1] # 定义文件名字,把response中的内容写到一个html文件中
with open(fname, ''wb'') as f: # 从响应的url中提取文件名字作为保存为本地的文件名,然后将返回的内容保存为文件
f.write(response.body)
self.log(''Saved file %s.'' % fname) # self.log是运行日志,不是必要的
这个代码很简单就是爬取一个页面,并保存到文件中。
执行 tutorial 爬虫项目,在 cmd 目录中执行
scrapy crawl QuoteSpider
执行日志如下
可以在 tutorial 目录下看的 index_1.htm 文件;该文件就是爬取到的内容。
☆
往期精彩
☆
01 Sentinel 如何进行流量监控
02 Nacos 源码编译
03 基于 Apache Curator 框架的 ZooKeeper 使用详解
04 spring boot 项目整合 xxl-job
05 互联网支付系统整体架构详解
关注我
每天进步一点点
本文分享自微信公众号 - JAVA 乐园(happyhuangjinjin88)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与 “OSC 源创计划”,欢迎正在阅读的你也加入,一起分享。
CrawlerProcess与CrawlerRunner
Scrapy
1.x文档说明,有两种方法可以 通过脚本运行Scrapy Spider :
- 使用
CrawlerProcess
- 使用
CrawlerRunner
两者有什么区别?我什么时候应该使用“进程”,什么时候应该使用“运行器”?
Groovy中的Crawler(JSoup VS Crawler4j)
我正在讨论JSoup vs Crawler4j.我已经阅读了他们基本上做了什么,但我无法理解两者之间的区别.任何人都可以建议哪个更适合上述功能?或者比较两者完全不正确?
谢谢.
解决方法
Crawler4J是一个简单的多线程接口,用于获取所需网站的所有网址和所有页面(内容).之后你可以使用Jsoup来解析数据,使用惊人的(jquery-like)css选择器并实际上用它做一些事情.当然,您必须考虑动态(生成javascript)内容.如果你也想要那些内容,那么你必须使用其他包含javascript引擎(无头浏览器解析器)的东西,如 htmlunit或 webdriver(selenium),它将在解析内容之前执行javascript.
How to Device a Crawler in Python
Learning pool:
urllib2:
http://www.pythonforbeginners.com/python-on-the-web/how-to-use-urllib2-in-python/
Python tidbits:
http://nbviewer.ipython.org/url/www.cs.sfu.ca/~anoop/teaching/CMPT-413-Spring-2014/python-tidbits.ipynb
======================================================================================
关于从Ruby到Python:Crawlers和ruby on rails python的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Crawlab 准备之 python+scrapy 环境搭建、CrawlerProcess与CrawlerRunner、Groovy中的Crawler(JSoup VS Crawler4j)、How to Device a Crawler in Python的相关知识,请在本站寻找。
本文标签: