黑洞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. 12

    2019-09

    换IP软件可以提高网站排名吗?

    在现在的生活中已经来不开网络,所以很多企业和商家通过网络来进行宣传。但是对于新建的网站来说,想提高排名是很困难的。网站排名的前后与访问量有很大的关系,访问量增加网站的权重

  2. 01

    2019-08

    代理ip怎么合理控制爬虫速度?

    爬虫的工作人员都知道,爬虫的速度并不是越快越好。如果爬虫采集的速度越快,就越容易被发现,也就越容易被封IP。那么,怎么合理控制爬虫速度呢?

  3. 18

    2019-03

    IP代理:大数据到底从何而来?

    既然化零为整的大数据平台有这么多的优势,那么这个平台落到实处应该长什么样子呢?我们不妨更进一步来探讨一下这个问题。还记得之前我们谈到过大数据思维重视的是全量样本数据而不是

  4. 15

    2019-05

    如何利用IP代理软件做问答推广

    毕业后,我去了一家公司,这家公司上下全都围绕着一个网站来做。而我被分配了做外推的问答推广方面上,因为刚开始没有什么经验,在做推广问答的时候,没两天的时间,公司分配的几个账

  5. 01

    2019-11

    怎么样使用免费代理IP才高效?

    如有效率太低,速度太慢,失效太快,很不稳定,但免费代理IP胜在免费两字,对于一些小任务还是可以胜任的,今天就来讨论下如何高效的使用免费代理IP。

  6. 25

    2019-06

    如何依靠HTTP代理IP在互联网中谋发展

    一直以来,社会各界总在讨论电商模式是否能够颠覆甚至取代传统4S店模式。其实未来并不是电商颠覆4S店,而是4S店和厂家要积极拥抱互联网。随着互联网行业的不断发展,越来越多的消费者在