python网络爬虫代码简单_Python编写简单的网络爬虫

Python编写简单的网络爬虫

根据网络上给出的例子,简单总结一下用Python编写网络爬虫程序的基本思路,以百度为例,主要有以下策略:Python提供了许多Module,通过这些Module,可以很简单的做一些

工作。比如,要获得NBA这个词在百度搜索结果页中各个搜索结果对应的URL,这就是一个很简单的爬虫需求。

1、通过urllib2这个Module获得对应的HTML源码。

# -*- encoding: utf-8 -*-

import urllib2

url='http://www.baidu.com/s?wd=NBA'

content=urllib2.urlopen(url).read()

print content

通过上面这三句就可以将URL的源码存在content变量中,其类型为字符型。

2、接下来是要从这堆HTML源码中提取我们需要的内容。用Chrome查看一下对应的内容的代码(也可以用Firefox的Firebug)。

05234704-f3021c4758614021bcc1af47d2b8c89d.jpg

可以看到url存储在

标签中,要获取其中的信息可以用正则式。

re.compile是将字符串编译为用于python正则式的模式,字符前的r表示是纯字符,这样就不需要对元字符进行两次转义。re.findall返回的是字符串中符合正则表达式的列表。site依次输出我们所要获取的网络地址。这里需要强调的是需要编写正确的正则表达式才能获取到我们想要的结果,这里的代码可能还不够精确。

importre

urls_pat=re.compile(r'

(.*?)

')

siteUrls=re.findall(r'href="(.*?)" target="_blank">',content)for site insiteUrls:print site

3、对所得结果进行处理:比如进一步获取有用的信息或将信息进行存储;再比如运用相关的数据结构进行大规模网络爬虫,或者分布式的网络爬虫设计。

当然网络爬虫原理是很简单,但是需要大规模处理网络资源的时候就会遇到各种各样的问题,需要做各种各样的优化处理工作,这里简单介绍一下,希望对“聚焦网络爬虫”有所了解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值