python爬虫基础学习-01

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.request
import http.cookiejar
url="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());


































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值