IP代理软件,http代理,API提取-黑洞HTTP

黑洞HTTP

您的位置: 首页 > 新闻资讯 > HTTP代理 > 正文

如何快速掌握Python数据采集与网络爬虫技术

发布时间:2019年03月21日 来源:http://http.hunbovps.com/News/getList/catid/8/id/166.html

一、数据采集与网络爬虫技术简介


网络爬虫是用于数据采集的一门技术,可以帮助我们自动地进行信息的获取与筛选。从技术手段来说,网络爬虫有多种实现方案,如PHP、Java、Python ...。那么用python 也会有很多不同的技术方案(Urllib、requests、scrapy、selenium...),每种技术各有各的特点,只需掌握一种技术,其它便迎刃而解。同理,某一种技术解决不了的难题,用其它技术或方依然无法解决。网络爬虫的难点并不在于网络爬虫本身,而在于网页的分析与爬虫的反爬攻克问题。希望在本次课程中大家可以领会爬虫中相对比较精髓的内容。


二、网络爬虫技术基础


在本文中,将使用Urllib技术手段进行项目的编写。同样,掌握了该技术手段,其他的技术手段也不难掌握,因为爬虫的难点不在于技术手段本身。本知识点包括如下内容:


Urllib基础


浏览器伪装


用户代理池


糗事百科爬虫实战


需要提前具备的基础知识:正则表达式


1)Urllib基础


爬网页


打开python命令行界面,两种方法:ulropen()爬到内存,urlretrieve()爬到硬盘文件。


如何快速掌握Python数据采集与网络爬虫技术

同理,只需换掉网址可爬取另一个网页内容


如何快速掌握Python数据采集与网络爬虫技术

上面是将爬到的内容存在内存中,其实也可以存在硬盘文件中,使用urlretrieve()方法


>>> urllib.request.urlretrieve("http://www.jd.com",filename="D:/test.html")


之后可以打开test.html,京东网页就出来了。由于存在隐藏数据,有些数据信息和图片无法显示,可以使用抓包分析进行获取。


2)浏览器伪装


尝试用上面的方法去爬取糗事百科网站url="https://www.qiushibaike.com/",会返回拒绝访问的回复,但使用浏览器却可以正常打开。那么问题肯定是出在爬虫程序上,其原因在于爬虫发送的请求头所导致。


打开糗事百科页面,如下图,通过F12,找到headers,这里主要关注用户代理User-Agent字段。User-Agent代表是用什么工具访问糗事百科网站的。不同浏览器的User-Agent值是不同的。那么就可以在爬虫程序中,将其伪装成浏览器。


如何快速掌握Python数据采集与网络爬虫技术

将User-Agent设置为浏览器中的值,虽然urlopen()不支持请求头的添加,但是可以利用opener进行addheaders,opener是支持高级功能的管理对象。代码如下:


如何快速掌握Python数据采集与网络爬虫技术

3)用户代理池


在爬取过程中,一直用同样一个地址爬取是不可取的。如果每一次访问都是不同的用户,对方就很难进行反爬,那么用户代理池就是一种很好的反爬攻克的手段。


第一步,收集大量的用户代理User-Agent


如何快速掌握Python数据采集与网络爬虫技术

第二步,建立函数UA(),用于切换用户代理User-Agent


如何快速掌握Python数据采集与网络爬虫技术

for循环,每访问一次切换一次UA


如何快速掌握Python数据采集与网络爬虫技术

每爬3次换一次UA


foriinrange(0,10):if(i%3==0): UA() data=urllib.request.urlopen(url).read().decode("utf-8","ignore")


(*每几次做某件事情,利用求余运算)


4)第一项练习-糗事百科爬虫实战


目标网站:https://www.qiushibaike.com/


需要把糗事百科中的热门段子爬取下来,包括翻页之后内容,该如何获取?


第一步,对网址进行分析,如下图所示,发现翻页之后变化的部分只是page后面的页面数字。




第二步,思考如何提取某个段子?查看网页代码,如下图所示,可以发现<div class="content">的数量和每页段子数量相同,可以用<div class="content">这个标识提取出每条段子信息。


如何快速掌握Python数据采集与网络爬虫技术

第三步,利用上面所提到的用户代理池进行爬取。首先建立用户代理池,从用户代理池中随机选择一项,设置UA。


如何快速掌握Python数据采集与网络爬虫技术

相关文章内容简介

1 如何快速掌握Python数据采集与网络爬虫技术

一、数据采集与网络爬虫技术简介网络爬虫是用于数据采集的一门技术,可以帮助我们自动地进行信息的获取与筛选。从技术手段来说,网络爬虫有多种实现方案,如PHP、Java、Python ...。那么用python 也会有很多不同的技术方案(Urllib、requests、scrapy、selenium...),每种技术各有各的特点,只需掌握一种技术,其它便迎刃而解。同理,某一种技术解决不了的难题,用其它技术或方依然无法解决。网络爬虫的难点并不在于网络爬虫本身,而在于网页的分析与爬虫的反爬攻克问题。希望在本次课程中大家可以领会爬虫中相对比较精髓的内容。二、网络爬虫技术基础在本文中,将使用Urllib技术手段进行项目的编写。同样,掌握了该技术手段,其他的技术手段也不难掌握,因为爬虫的难点不在于技术手段本身。本知识点包括如下内容:Urllib基础浏览器伪装用户代理池糗事百科爬虫实战需要提前具备的基础知识 [阅读全文]

热门标签

最新标签

推荐阅读

  1. 03

    2019-01

    一分钟带你了解HTTP代理基础知识

    ​HTTP安全协议即超文本传送协议,是Internet上行信息内容传送时应用最为普遍的一种最简单的通信协议。一部分局域网对协议进行了限止,只准许用户通过HTTP协议浏览外界网址。

  2. 18

    2019-07

    什么时候能用到HTTP代理IP?

    所谓IP地址,可以看作你在网络世界中的门牌号,你的小伙伴通过门牌号找到你,你访问其他伙伴时,对方也可以通过你的门牌记住和识别你的身份。没错,IP地址就是这么重要。什么时候能用

  3. 19

    2019-09

    免费代理ip是否换ip?

    俗话说道高一尺魔高一丈。虽然人们的防范心理越来越高,并且防范措施越来越多。但是犯罪分子的各种传说法也越来越多。无论是我们的银行卡信息,或是卡的密码。在日常的互联网使用过程

  4. 02

    2019-08

    http代理服务器和VPN能解决什么问题

    VPN:指虚拟网络。虚拟网络的功能是在公用网络上建立专用网络,进行加密和远程通讯。http代理服务器:也称网络代理,是一种特殊的网络服务,是一个网络与另一个网络进行非直接的连接。

  5. 10

    2019-04

    代理IP与数据挖掘

    本文仅是我们“ 使用代理进行数据挖掘和爬取的最终指南 ”的一小部分。

  6. 25

    2019-07

    哪里有一手http代理IP?

    网络市场营销的人员都知道代理IP的用处,一些注册,抢购,投票,数据采集和效果补量等业务都可以使用代理IP来完成。代理IP因其有别于真实IP的优越性而受到广大用户的欢迎。