python爬虫基础学习-01

来源:互联网 发布:heaven ailee 知乎 编辑:程序博客网 时间:2024/04/28 14:48

1.爬虫模块

Url管理器

网页下载器(urlib2)

网页解析器(BeautifulSoup)


2.简单爬虫架构



3.爬虫架构运行流程



4.url管理器

4.1作用

用来管理待抓取URL集合和已抓取URL集合--防止重复抓取、防止循环抓取
URL管理器需要支持:1.添加一个新的URL添加到待爬取得集合中同时判断集合中是否有这个URL如果有这个URL则不能添加。
2.获取待爬取的URL同时判断容器中是否有待爬取的URL如果有的话将URL从待爬取的URL移动到已经爬取的URL集合中。

4.2实现方式

1.将待爬取的URL集合已爬取的集合存储到内存中用set集合(也因为set集合可以去除重复集合)
2.关系数据库(urls(url,is_crawled))用字段is_crawled来标识是否是已经爬取的url
3.缓存数据库中(redis)待爬取URL集合:set  已爬取URL集合:set

5.网页下载器

5.1说明

    将互联网上URL对应的网页下载到本地的工具

5.2 Python的几种网页下载器

              urllib2:Python官方基础模块
              requests:第三方包更强大

5.3 demo

import urllib.requestimport http.cookiejarurl="http://www.baidu.com";print("第一种方法");respose1=urllib.request.urlopen(url);print(respose1.getcode());print(respose1.read());print(len(respose1.read()));print("第二种方法 使用 Request 传参数")request=urllib.request.Request(url);request.add_header("user-agent","Mozilla/5.0");request1=urllib.request.urlopen(request);print(request1.getcode());print(request1.read());print(len(request1.read()));print("第三种方法 增加cookie处理")mcj = http.cookiejar.MozillaCookieJar();cookiehand = urllib.request.HTTPCookieProcessor(mcj);opener = urllib.request.build_opener(cookiehand);opener.addheaders = [('User-agent', 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36')];u=opener.open(url);print(u.getcode());print(mcj);print(u.read());


































原创粉丝点击