首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Python爬虫之基本原理

网络爬虫(Web crawler),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,它们被广泛用于互联网搜索引擎或其他类似网站,可以自动采集所有其能够访问到的页面内容,以获取或更新这些网站的内容和检索方式。从功能上来讲,爬虫一般分为数据采集,处理,储存三个部分。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。

03

数据采集-Scrapy框架使用代理IP要点

scrapy框架通过模块化的设计实现了数据采集的通用功能接口,并提供自定义拓展,它将程序员从繁冗的流程式重复劳动中解放出来,给编程人员提供了灵活简便的基础构建,对于普通的网页数据采集,编程人员只需要将主要精力投入在网站数据分析和网站反爬策略分析上,结合代理IP的使用,可以实现项目的高效快速启动。 主要特性包括: 1)参数化设置请求并发数,自动异步执行 2)支持xpath,简洁高效 3)支持自定义中间件middleware 4)支持采集源列表 5)支持独立调试,方便 shell 方式 6)支持数据管道接口定义,用户可以选择文本、数据库等多种方式 在Scrapy框架中使用代理的方式有如下几种: 1.scrapy中间件 在项目中新建middlewares.py文件(./项目名/middlewares.py),内容如下: #! -- encoding:utf-8 -- import base64 import sys import random PY3 = sys.version_info[0] >= 3 def base64ify(bytes_or_str): if PY3 and isinstance(bytes_or_str, str): input_bytes = bytes_or_str.encode(‘utf8’) else: input_bytes = bytes_or_str output_bytes = base64.urlsafe_b64encode(input_bytes) if PY3: return output_bytes.decode(‘ascii’) else: return output_bytes class ProxyMiddleware(object): def process_request(self, request, spider): # 代理服务器(产品官网 www.16yun.cn) proxyHost = “t.16yun.cn” proxyPort = “31111” # 代理验证信息 proxyUser = “username” proxyPass = “password” request.meta[‘proxy’] = “http://{0}:{1}”.format(proxyHost,proxyPort) # 添加验证头 encoded_user_pass = base64ify(proxyUser + “:” + proxyPass) request.headers[‘Proxy-Authorization’] = 'Basic ’ + encoded_user_pass # 设置IP切换头(根据需求) tunnel = random.randint(1,10000) request.headers[‘Proxy-Tunnel’] = str(tunnel) 修改项目配置文件 (./项目名/settings.py) DOWNLOADER_MIDDLEWARES = { ‘项目名.middlewares.ProxyMiddleware’: 100, } 2.scrapy环境变量 通过设置环境变量,来使用爬虫代理(Windows) C:>set http_proxy=http://username:password@ip:port

01

一文带你了解Python爬虫(一)——基本原理介绍

1. 企业生产的用户数据: 大型互联网公司有海量用户,所以他们积累数据有天然的优势。有数据意识的中小型企业,也开始积累的数据。 2. 数据管理咨询公司: 通常这样的公司有很庞大的数据采集团队,一般会通过市场调研、问卷调查、固定的样本检测, 和各行各业的公司进行合作、专家对话(数据积累很多年了,最后得出科研结果)来采集数据。 3. 政府/机构提供的公开数据: 政府通过各地政府统计上报的数据进行合并;机构都是权威的第三方网站。 4. 第三方数据平台购买数据: 通过各个数据交易平台来购买各行各业需要的数据,根据获取难度不同,价格也会不同。 5. 爬虫爬取数据: 如果市场上没有我们需要的数据,或者价格太高不愿意买, 那么就可以招/做一个爬虫工程师,从互联网上定向采集数据。

03
领券