Python爬虫学习round01
写在前面:
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出。欢迎各位前来交流。(部分材料来源网络,若有侵权,立即删除)
思维导图
简单抓取网页
import urllib.request
url="http://tieba.baidu.com"
response=urllib.request.urlopen(url)
html=response.read()
print(html.decode('utf-8')
- 上面的例子通过urllib.requt.urlopen()方法,传入网址从而获得网页源码
设置请求超时
import urllib.request
url="http://tieba.baidu.com"
response=urllib.request.urlopen(url,timeout=1)
print(response.read().decode('utf-8')
使用data参数提交数据
import.urllib.parse
import urllib.requestdata= bytes(urllib.parse.urlencode({'word','hello'}),encoding='utf-8')
response=urllib.request.urlopen('http://httpbin.org/post',data=data)
print(response.read())
Pequest
import urllib.requesturl="http://tieba.baidu.com"
headers={'User-Agent'='Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36'
}
request=urllib.request.Request(url=url,header=header)
response=urllib.request.urlopen(request)
print(response.read().decode('utf-8'))
- headers参数是指定发起的HTTP请求的头部信息;涉及到的’User-Agent’,可在打开任意网页后F12,通过Network任意打开一个请求可得到。
Handler
- 处理请求(HTTP,HTTPS,FTP等)中的各种事情。
OpenerDirector
- Opener对象是由build_opener(handler)方法创建出来的。
使用代理
import urllib.requesturl='http://tieba.baidu.com"
headers={'User-Agent'='Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36'
}
proxy_handler=urllib.request.ProxyHandler({'http':'172.12.24.45:8080'
'http':'120.34.5.46:8080'
})
opener=urllib.request.build_opener(proxy_handler)
urllib.request.install_opener(opener)request=urllib.request.Request(url=url,headers=headers)
response=urllib.request.urlopen(request)
print(response.read().decode('utf-8'))
- 调用ProxyHandler方法就可以设置代理,模拟成多个不同的客户端,成功”欺骗“网站,获取数据。
认证登录
import urllib.requesturl=”http://tieba.baidu.com"
user='test_user'
password='test_password'
pwdmgr=urllib.request.HTTPPasswordMgrWithDefaultRealm()
pwdmgr.add_password(None,url,user,password)
auth_handler=urllib.request.HTTPBasicAuthHandler(pwdmgr)
opener=urllib.request.build_opener(auth_handler)
response=opener.open(url)
print(response.read().decode('utf-8'))
Cookie设置
- 针对请求的页面每次都需要身份验证,那就可以使用Cookie来自动登录。
import http.cookiejar
import urllib.requesturl="http://tieba.biadu.com"
fileName='cookie.txt'cookie=http.cookiejar()
handler=urllib.request.HTTPCookieProcessor(cookie)
opener=urllib.request.build_opener(handler)
response=opener.open(url)f=open(fileName,'a')
for item in cookie:f.write(item.name+"="+item.value+'\n')
f.close()
Python爬虫学习round01相关推荐
- python爬虫正则表达式实例-python爬虫学习三:python正则表达式
python爬虫学习三:python正则表达式 1.正则表达式基础 a.正则表达式的大致匹配过程: 1.依次拿出表达式和文本中的字符比较 2.如果每一个字符都能匹配,则匹配成功:一旦有匹配不成功的字符 ...
- Python爬虫学习系列教程
大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把一些学习的笔记总结下来,还记录了一些自己实际写的一些小爬虫,在这里跟大家一同分享,希望对Python爬虫 ...
- 新手python爬虫代码_新手小白必看 Python爬虫学习路线全面指导
爬虫是大家公认的入门Python最好方式,没有之一.虽然Python有很多应用的方向,但爬虫对于新手小白而言更友好,原理也更简单,几行代码就能实现基本的爬虫,零基础也能快速入门,让新手小白体会更大的成 ...
- Python爬虫学习系列教程-----------爬虫系列 你值的收藏
静觅 » Python爬虫学习系列教程:http://cuiqingcai.com/1052.html 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把 ...
- Python 爬虫学习 系列教程
Python爬虫 --- 中高级爬虫学习路线 :https://www.cnblogs.com/Eeyhan/p/14148832.html 看不清图时,可以把图片保存到本地在打开查看... Pyth ...
- 从入门到入土:Python爬虫学习|实例练手|爬取LOL全英雄信息及技能||异步加载|初级难度反扒处理|寻找消失的API
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...
- 从入门到入土:Python爬虫学习|实例练手|详细讲解|爬取腾讯招聘网|一步一步分析|异步加载|初级难度反扒处理|寻找消失的API来找工作吧
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...
- 从入门到入土:Python爬虫学习|实例练手|爬取猫眼榜单|Xpath定位标签爬取|代码
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...
- 从入门到入土:Python爬虫学习|实例练手|爬取百度翻译|Selenium出击|绕过反爬机制|
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...
最新文章
- TMS320C6678上电配置和FPGA复位DSP
- linux shell命令分布执行,Linux学习笔记:bash特性之多命令执行,shell脚本
- 脑电波之父:汉斯·贝格尔_深度学习,认识聪明的汉斯
- 加个ing是什么意思_take的意思竟然是“要求”?奇奇怪怪的熟词僻义打卡终于来了!...
- ambari 修改服务器名,Ambari修改主页面方法
- (王道408考研操作系统)第五章输入/输出(I/O)管理-第一节7:缓冲区管理
- 一文掌握关于Java数据结构所有知识点(欢迎一起完善) 1
- USACO / Sorting a Three-Valued Sequence (简单题,方法正确性待证)
- web前端基础(02html表格)
- 最全面的AndroidStudio配置指南总结-包括护眼模式
- 摆动定价机制连载系列之推出背景及工作原理介绍
- 百度AI人脸识别与检测五:学生人脸识别打卡签到系统之百度AI人脸识别
- 半导体物理学习笔记(一)
- 计算机服务器机房设计方案,机房设计方案.pdf
- 内存颗粒性能测试软件,PC技巧分享 篇四:如何通过快速识别内存颗粒了解超频性能...
- xp系统更改计算机名c盘,c盘满了怎么办,小编教你电脑xp的c盘满了怎么办
- wifi无线破解记录
- MySQL binlog时间异常分析
- 【微信小程序开发】(一)开发环境和小程序公众号申请
- matlab读lExcel文字,matlab读取excel文件及其数据处理
热门文章
- 【less-2】sqli-labs靶场第二关
- python matplotlib 给图任意加标注
- c/c++教程 - 2.4.2.3~4 拷贝构造函数的调用时机,构造函数调用规则
- MySQL学习记录 (三) ----- SQL数据定义语句(DDL)
- 敏捷开发团队管理系列之一:序言与出发点
- EntityFramewrok 使用
- 206. Reverse Linked List (LL)
- LVS小型系统架构搭建笔记
- hive数据库的哪些函数操作是否走MR
- 20150317--TP