爬虫项目 (知识点)

一. 基本介绍

什么是爬虫?
    - 就是抓取网页数据的程序

怎么抓取网页数据

网页三大特征:
    - 每个网页都有自己的URL (统一资源定位符) 来进行定位
    - 网页都是用HTML(超文本标记语言)来描述页面信息
    - 网页都使用HTTP/HTTPS(超文本传输协议)来传输HTML数据

爬虫的设计思路:
    -1. 首先确定需要爬取的网页URL地址
    -2. 通过HTTP/HTTPS协议来获取对应的HTML页面
    -3. 提取HTML页面里面有用的数据
        a. 如果是需要的数据,就保存起来。
        b. 如果是页面里的其它URL,那就继续执行第二步。

为什么选择Python做爬虫?
    - PHP   对多线程 异步支持不够好 并发处理很弱
    - Java  Python爬虫的最大对手,但是Java语言本身很笨重,代码量很大,重构成本比较高
    - C/C++ 运行效率几乎最强,但是学习成本很高,代码成型比较慢
    - Python 语言优美,代码简洁,开发效率高,支持的模块多,相关的HTTP请求模块和
             还有强大的爬虫Scrapy 以及成熟高效的scrapy-redis分布式策略
             而且 调用其他接口也非常方便(胶水语言)

时间: 2024-10-27 17:06:18

爬虫项目 (知识点)的相关文章

爬虫项目总结

1.项目架构 2.详细技术点 1.解析,(依赖注入) 2,使用queue队列实现循环抓取 3.实现优先级队列并提取接口 4.使用log4j实现配置检查及日志打印 5.实现多线程爬虫并提取接口 6.实现url调度器 7.使用queue队列实现url随机榨取 8.使用redis队列实现url 随机抓取 10.使用httpclient 实现模拟登录 11.使用curator 监控爬虫的生命周期 12.建立索引在web页面展示 3.定时插入入口url 4.项目部署 redis solr hbase zo

【飞谷六期】爬虫项目1

报名了飞谷六期的爬虫项目,但是自己相关的基础还是较弱,每天都有种无所事事的感觉.决定还是记录一下每天学习到的知识,自己看看也知道学习了些什么. 1.XShell连接阿里云,Xftp传输文件 2.把例子的文件拷贝出来后,link文件夹中的代码如图: 开始看到这些文件,我想说什么鬼.然后看了一下 Scrapy入门,得知,这些文件是在新建scrapy项目后自动生成的.如果建立一个名叫tutorial的新项目,可以输入命令(我都是用的飞谷云提供的环境,linux的) scrapy startprojec

基于webmagic的爬虫项目经验小结

大概在1个月前,利用webmagic做了一个爬虫项目,下面是该项目的一些个人心得,贴在这里备份: 一.为什么选择webmagic? 说实话,开源的爬虫框架已经很多了,有各种语言(比如:python.java)实现的,有单机的,还有大型分布式的,多达上百种,详情可见: http://www.oschina.net/project/tag/64/spider?lang=0&os=0&sort=view& github上随手搜索一下spider之类的关键字,也不计其数,如何选择呢? 我的

Python即时网络爬虫项目: 内容提取器的定义(Python2.7版本)

1. 项目背景 在Python即时网络爬虫项目启动说明中我们讨论一个数字:程序员浪费在调测内容提取规则上的时间太多了(见上图),从而我们发起了这个项目,把程序员从繁琐的调测规则中解放出来,投入到更高端的数据处理工作中. 这个项目推出以后受到很大关注,因为开放源码,大家可以在现成源码基础上进一步开发.然而,Python3和Python2是有区别的,<Python即时网络爬虫项目: 内容提取器的定义> 一文的源码无法在Python2.7下使用,本文将发布一个Python2.7的内容提取器. 2.

爬虫项目

个人爬虫项目 安居客爬虫: 目标网站:https://sz.fang.anjuke.com/ github仓库:https://github.com/Glf9832/AjkSpider.git

012 Python 爬虫项目1

# Python 爬虫项目1 ● Python 网页请求 requests POST GET 网页状态码 1 # -*- coding: UTF-8 -*- 2 from bs4 import BeautifulSoup 3 import requests 4 5 url = "http://www.baidu.com" 6 unknow = requests.get(url) 7 print(type(unknow)) 8 print(unknow) 通过标签匹配内容 1 # -*-

项目知识点总结

1.将对象modelList转换为DataTable表 private DataTable ListToDataTable(List<Tellyes.Model.QuestionOption> QuestionOptionList) { DataTable dt = new DataTable(); if (QuestionOptionList.Count > 0) { PropertyInfo[] propertys = QuestionOptionList[0].GetType().

实用的开源百度云分享爬虫项目yunshare - 安装篇

今天开源了一个百度云网盘爬虫项目,地址是https://github.com/callmelanmao/yunshare. 百度云分享爬虫项目 github上有好几个这样的开源项目,但是都只提供了爬虫部分,这个项目在爬虫的基础上还增加了保存数据,建立elasticsearch索引的模块,可以用在实际生产环境中,不过web模块还是需要自己开发 安装# 安装node.js和pm2,node用来运行爬虫程序和索引程序,pm2用来管理node任务 安装mysql和mongodb,mysql用来保存爬虫数

Python即时网络爬虫项目: 内容提取器的定义

1. 项目背景在python 即时网络爬虫项目启动说明中我们讨论一个数字:程序员浪费在调测内容提取规则上的时间,从而我们发起了这个项目,把程序员从繁琐的调测规则中解放出来,投入到更高端的数据处理工作中. 2. 解决方案为了解决这个问题,我们把影响通用性和工作效率的提取器隔离出来,描述了如下的数据处理流程图: 图中"可插拔提取器"必须很强的模块化,那么关键的接口有: 标准化的输入:以标准的HTML DOM对象为输入 标准化的内容提取:使用标准的xslt模板提取网页内容 标准化的输出:以标