注意: 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. 21

    2019-05

    Python爬虫为什么使用独享代理IP池更好

    IP池,也分共享和独享的,但很多商家并不告诉你,而是一味的喊价格多低多低,以低廉的价格来吸引大家的购买使用,但是很多时候都是购买之后,刚开始使用就发现不好用。因此,选购代理I

  2. 25

    2019-04

    爬虫为什么可以使用动态vps隐藏ip并提高爬取效率

    目前网站的反爬虫策略非常的完善,越是成熟的网站,想要获取信息越难,因为漏洞少,那只能伪装成用户去拿数据了,一个用户不会拿这么多的数据,最好是要伪装大量的用户去获取数据。而

  3. 30

    2019-01

    爬虫怎么判断网页有没有更新

    有些网站每天都更新,不仅会出现新的网页,而且老的网页也会有更新内容,这样爬虫怎么判断网页有没有更新?应该怎么设计爬取策略?难度每天都重新爬遍这个网站的所有网页,然后判断是

  4. 07

    2019-11

    使用HTTP代理IP时需要注意什么?

    使用HTTP代理IP时需要注意什么?近年来大数据行业迅猛发展,给互联网各行各业带来了蓬勃之气,作为有效资源的HTTP代理IP,更是如雨后春笋般涌现。面对市场中众多IP供应商,越来越多的用户挑

  5. 09

    2019-07

    IP代理精灵的短效优质代理IP为什么都连接不上

    有朋友用了IP代理精灵的短效优质代理IP发现,没有一个连接成功。这是为什么呢,难道IP代理精灵的代理IP出问题了?并非如此,IP代理精灵的短效优质代理IP需要绑定使用代理的机器IP授权,如

  6. 24

    2019-06

    什么是代理IP?代理IP有什么功能特点?

    作为一个互联网工作者,在工作中难免碰到一些这样的问题:如果你是一名淘宝店主,你可能会担心刷单太多被发现惨遭封店;如果你是一名网络推广员,你可能会担心发帖太多导致IP地址被屏