注意: IP代理精灵仅提供国内ip网络节点,不提供境外网络节点,不能用于任何非法用途或访问境外封闭网站,不能跨境联网,只能用于合法的国内网络加速。

请登录 注册

首页 > 新闻资讯 > python爬虫抓取网站数据的一些技巧

python爬虫抓取网站数据的一些技巧

来源:IP代理精灵 作者:admin 时间:2019-04-23 11:19:54

用python做爬虫可以说是非常常见的,很多人都选择这门语言来做爬虫,因为它简洁。接下来整理了一些python爬虫的相关技巧,希望能给初学者带来帮助。

python爬虫抓取网站数据的一些技巧

一、最基本的操作


抓取某个站点。


import urllib2


content = urllib2.urlopen('http://XXXX').read()


二、使用代理IP


最头疼的事情莫过于封IP了,不过魔高一尺道高一丈,使用代理IP,轻松解决难题。


import urllib2


proxy_support = urllib2.ProxyHandler({'http':'http://XX.XX.XX.XX:XXXX'})


opener = urllib2.build_opener(proxy_support, urllib2.HTTPHandler)


urllib2.install_opener(opener)


content = urllib2.urlopen('http://XXXX').read()


三、cookie的处理


登陆的时候不得不面对cookie,cookie不处理好,很可能被目标服务器发现爬虫行为,进而做出限制。


import urllib2, cookielib


cookie_support= urllib2.HTTPCookieProcessor(cookielib.CookieJar())


opener = urllib2.build_opener(proxy_support, cookie_support, urllib2.HTTPHandler)


urllib2.install_opener(opener)


content = urllib2.urlopen('http://XXXX').read()


四、User-Agent的处理


爬虫行为很令人反感,恨不得杀之后快,但如果伪装成浏览器访问时,目标服务器就视而不见了。如何伪装呢,这就要通过修改HTTP包中的Header的User-Agent来实现了。


headers = {


'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'


}


req = urllib2.Request(


url = 'http://***.****.***/***/****',


data = postdata,


headers = headers


)


当然,更好的办法是搜集很多浏览器的User-Agent,然后随机使用。


五、多线程抓取信息


不会多线程抓取的爬虫不是好爬虫,由于顾忌到反爬策略,尽量模拟人工访问,速度自然不可能太快,所以只能多线程来抓取了。


from threading import Thread


from Queue import Queue


from time import sleep


#q是任务队列


#NUM是并发线程总数


#JOBS是有多少任务


q = Queue()


NUM = 2


JOBS = 10


#具体的处理函数,负责处理单个任务


def do_somthing_using(arguments):


print arguments


#这个是工作进程,负责不断从队列取数据并处理


def working():


while True:


arguments = q.get()


do_somthing_using(arguments)


sleep(1)


q.task_done()


#fork NUM个线程等待队列


for i in range(NUM):


t = Thread(target=working)


t.setDaemon(True)


t.start()


#把JOBS排入队列


for i in range(JOBS):


q.put(i)


#等待所有JOBS完成


q.join()


以上就是“python爬虫抓取网站数据的一些技巧”的全部内容,还有很多小技巧这里就不一一说明,爬虫需要代理IP可以联系ip代理精灵


最新资讯

推荐阅读

  1. 23

    2019-04

    几种常用的浏览器如何设置代理IP上网

    浏览器设置代理IP上网是代理IP最基础的使用方法,不同的浏览器设置代理IP的方法略有不同,几种常用的浏览器如何设置代理IP上网?接下来就来为各位详细说明。

  2. 24

    2020-04

    网络ip的重要性

    网络ip的重要性!互联网经济的发展,让人们生活和工作都发生了天翻地覆的转变,很多人都会靠网络获取的需要的信息,也是有很多人靠网络创业,获得到财富。

  3. 10

    2019-09

    剖析代理IP识别技术方案

    剖析代理IP识别技术方案。代理IP的使用越来越普遍,用户通常通过代理来突破限制,如局域网对上网用户的端口、目的网站、协议、游戏、即时通讯软件等的限制,网站对于IP的访问频率、访问

  4. 06

    2020-11

    如何快速更换云手机ip地址

    如何快速更换云手机ip地址?无论做什么网赚项目,IP问题总是困扰着大家的一大难题。玩手机游戏、刷阅读,亦或是养微信、抖音快手等小号,开多个账号因为IP地址而被封号的例子比比皆是。

  5. 01

    2019-06

    代理IP的实用都在哪些方面

    我们在上网的时候,会发现自己的ip不够用。例如在有些场合,我们需要注册多个账号,这个时候,一个ip肯定是不够用的,那怎么办呢?这个时候,我们需要使用代理ip。在目前的网络上,有很

  6. 14

    2019-11

    线程IP池与传统动态转发的区别

    线程IP池与传统动态转发的区别!很多朋友不太清楚线程IP池与传统动态转发的区别,今天ip代理精灵小编来给大家讲解下: