pyhon爬虫学习日记1_urllib-mac系统
来源:互联网 发布:memcached php 编辑:程序博客网 时间:2024/05/22 06:13
系统:Mac sierra 版本:10.12.6 必备知识:最好具备python的基础知识,我已经有这个基础了,所以不知道没有会不会有很大影响
python基础我个人是在http://www.runoob.com/python/python-tutorial.html自学的,如果比较着急可以不学后面的高级编程,基础应付这个也足够了,只是高级教程也需要学的,建议一起学了
今天正式开始接触爬虫,搜了很久比较完整的爬虫视频貌似都是2.7的,而我偏偏用的3.6
首先是导入urllib的库,视频基本都是urllib2..不用费心思导入了,python3合并成urlib了,并且是个文件夹直接import urllib是没啥鸟用的
现在来说只需要导入一个request请求就行了
代码是:from urllibimport request
发请求方式也不是urllib.urlopen('xxxx')
而是request.urlopen()
其实就是把urllib换成了request,至少目前而言是这样的,后面会有所区别.
那么代码应该是:
from urllib import requestif __name__ == "__main__": request_url = "http://www.baidu.com" response = request.urlopen(request_url) print(response.read())
输出的是一堆html代码.这就是一个普通的http请求
之后就是加入一个User-Agent,User-Agent的作用就是让伪装成各种浏览器,就是让对方后台误以为我们是浏览器,而非纯代码
做法就是在http请求里面加一个头文件,需要看各个浏览器的User-Agent 直接google或者百度User-Agent是能找到的
这里我用Mac safari的User-Agent 为:User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50
那么新代码就是:
from urllib import requestif __name__ == "__main__": user_agent = "User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50" headers = {"User-Agent": user_agent} #请求头并非只有一个键值对,所以用字典类型 req = request.Request("http://www.baidu.com",headers = headers) #创建请求 response = request.urlopen(req) print (response.read())
执行之后可能会报错,urllib.error.URLError: <urlopen error [SSL:CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:748)>
没遇到的直接跳过就行了。遇到了导入ssl然后加上默认补验证的代码:
更改后代码为:
from urllib import requestimport sslif __name__ == "__main__": ssl._create_default_https_context = ssl._create_unverified_context user_agent = r"User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50" headers = {"User-Agent": user_agent} #请求头并非只有一个键值对,所以用字典类型 req = request.Request("http://www.baidu.com",headers = headers) #创建请求 response = request.urlopen(req) print (response.read())
返回就是最早出现的html文档
- pyhon爬虫学习日记1_urllib-mac系统
- 学习日记-WMware安装Mac系统
- pyhon学习
- java爬虫学习日记1-基本爬虫原理介绍
- 爬虫学习日记 ( 一)
- python3 爬虫学习日记【一】
- ruby爬虫日记1
- python爬虫学习日记(1)--获取验证码
- pyhon学习笔记
- pyhon学习笔记
- pyhon学习csdnfatie
- pyhon学习之 (一)
- pyhon学习6------函数
- Pyhon学习路线-准备
- pyhon学习笔记--lambda
- python 3.5 爬虫日记1
- pyhon学习笔记(1): 数据类型之普通类型
- java爬虫学习日记2-宽度优先爬虫代码实现
- psql- 致命错误 角色 highggo 不存在
- 基于flask实现的简单博客
- 当pgpool两节点状态均显示standby时的解决方法1
- python数据分析复盘——数据分析相关库之Numpy
- 个人笔记9-12
- pyhon爬虫学习日记1_urllib-mac系统
- 关于pgpool的注意事项
- for循环和if选择结构
- 数据结构之算法时间复杂度
- pgpool状态显示不正确时建议退出重新连接再检查
- 模拟退火算法
- 实现Runnable的线程类和继承Tread的线程类之间的区别
- 任务队列
- Beginning Spring学习笔记——第11章 使用Spring开发REST风格的Web服务