关于Python做爬虫的一点基础

报名了学院的P2P项目,所以只能被迫去学Python了。。。在此记录一下我的学习流程,免得自己日后忘记了

因为我还是新手,所以不免出现一些错误,如果有人搜到了这篇文章(基本上百度应该会给我很低的权重吧,估计不会有人搜到我拙劣的文笔的)并发现了问题,涵请指正,谢谢啦

Python基础

在安装了Python 2.7以后(据专业人士说Python 3的语法等方面的改动较大,所以选择了2.7,具体可以去官网下载,很快就可以下好了),像我这种偷懒的人直接选择Python自带的编辑器IDLE

Python是使用解释器运行的,具体内容见百度百科

Python中至少应当有一行特殊形式的注释,组织行:

#!/user/bin/python
双引号中字符串与单引号中的字符串使用完全相同

同一层次的语句必须有相同的缩进量,每一组语句成为一个块

raw_input() 取得用户猜测的数字
if语句在结尾处包含一个冒号,告诉Python下面跟着一个语句块(if-elif-else)

while循环中的使用一个else语句

函数通过def关键字进行定义

默认参考值,关键参数

列表,元组

浏览网页的过程

浏览器通过http协议请求一个服务器,服务器接着响应,返回一个HTML给浏览器,接着通过浏览器将HTML翻译成我们看到的网页,这就是一个很精简的方式了,具体情况要负载的很多很多,而爬虫正是在服务器返回HTML代码这个时候开始抓取文件的
URI 表示请求服务器的路径,定义资源
URL 表示如何访问这个资源

对于Python的urllib模块

urllib
向指定的URL发出请求获取数据,返回一个类文件(其实是字符串)对象,可选参数data以及请求头header,不带data时为GET请求,带data时为POST请求
response=urllib2.urlopen("url")
html=response.read()
上述代码分开解析时的流程为
req=urllib2.Requset("url")//建立Request对象,指明要访问的URL
response=urllib2.urlopen(req)
html=repose.read()
POST请求
post请求需要用标准的方式encoding,这个是在urllib中完成
import urllib
import urllib2
url="  "
values={"name":"  "
"location":"  "
"language":"  "
}
data=urllib.urlencode(values)
req=urllib2.Request(url,data)
User-agent
浏览器区别自身的方式是User-agent头
url='http://news.163.com/'
headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36',
         'GET':url,
         'Host':'news.163.com',
         'Referer':'http://hao.360.cn/?src=bm'}
req=urllib2.Request(url,data,headers)
response的方法
geturl()返回的是获取得到的真实的URL
info()返回对象的字典对象

正则表达式

re模块,提供对正则表达式的支持
import re
pattern=re.compile(r'hello')//将正则表达式字符串形式编译为pattern实例
match=pattern.match('hello world')//使用pattern的match实例处理文本获得匹配的结果
match.group()//使用match实例获得分组信息
字节串str通过decode变为Unicode
字符串Unicode通过encode变为str
Python里默认的是ascii码

爬虫的大致步骤

1、主要审查元素,分析链接(比如各分类的网页链接组成)
2、爬取各分类的主要页面
3、归档

后记,如果有兴趣做这一块的话,还可以去学习一些现成的框架,比如beautifulsoap 或者scrapy








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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值