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

    2019-10

    判断代理IP是否正常的方法

    判断代理IP是否正常的方法!使用代理IP时,总是会碰到一堆这样那样的问题,对于细心的朋友来说,静下心来慢慢找出问题,然后解决问题;对于一些比较急躁的朋友,往往不知道如何下手,不知

  2. 24

    2019-04

    为什么说免费代理IP最昂贵

    免费的东西往往最受欢迎,不管是线下或者线上,不管是实物还是虚拟物,只要是免费的,往往大部分人都要去尝试下,毕竟是免费的,试试又不用钱。正是基于此心理,很多朋友都能接受免费

  3. 29

    2019-06

    代理服务器的使用

    随着代理服务器越来越受欢迎,越来越多的人对其感到疑惑。代理服务器可以使用在哪些地方呢?代理IP服务器用于多种用途,包括:· 网络抓取 一些在线操作需要大规模的数据挖掘。提供销售

  4. 27

    2019-05

    发帖可以用代理IP吗

    现在网络已经成为了我们生活中不可分割的一部分,不仅仅是使用网络娱乐生活,还有一些工作是在网络的前提下才能够进行的,随着互联网的发展,越来越多的业务转移到网络中,比如一些网

  5. 25

    2019-09

    怎么切换ip及代理ip对网络工作的重要性

    怎么切换ip及代理ip对网络工作的重要性。我们平时在浏览网页时会遇到这样的问题,如果在一个网站上操作过快,就容易出现IP地址受限、限制登录等问题。例如在贴吧发帖的时候,怎么也发布

  6. 27

    2019-12

    IP被限制该怎么切换IP?

    IP被限制该怎么切换IP?我们在平时浏览一个网站的时候都发现,如果在一个网站上操作过快,就容易出现IP地址受限、限制登录等问题。例如在贴吧发帖的时候,怎么也发布不成功帖子,这就有