写在前面:
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出。欢迎各位前来交流。(部分材料来源网络,若有侵权,立即删除)

思维导图

简单抓取网页

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相关推荐

  1. python爬虫正则表达式实例-python爬虫学习三:python正则表达式

    python爬虫学习三:python正则表达式 1.正则表达式基础 a.正则表达式的大致匹配过程: 1.依次拿出表达式和文本中的字符比较 2.如果每一个字符都能匹配,则匹配成功:一旦有匹配不成功的字符 ...

  2. Python爬虫学习系列教程

    大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把一些学习的笔记总结下来,还记录了一些自己实际写的一些小爬虫,在这里跟大家一同分享,希望对Python爬虫 ...

  3. 新手python爬虫代码_新手小白必看 Python爬虫学习路线全面指导

    爬虫是大家公认的入门Python最好方式,没有之一.虽然Python有很多应用的方向,但爬虫对于新手小白而言更友好,原理也更简单,几行代码就能实现基本的爬虫,零基础也能快速入门,让新手小白体会更大的成 ...

  4. Python爬虫学习系列教程-----------爬虫系列 你值的收藏

    静觅 » Python爬虫学习系列教程:http://cuiqingcai.com/1052.html 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把 ...

  5. Python 爬虫学习 系列教程

    Python爬虫 --- 中高级爬虫学习路线 :https://www.cnblogs.com/Eeyhan/p/14148832.html 看不清图时,可以把图片保存到本地在打开查看... Pyth ...

  6. 从入门到入土:Python爬虫学习|实例练手|爬取LOL全英雄信息及技能||异步加载|初级难度反扒处理|寻找消失的API

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  7. 从入门到入土:Python爬虫学习|实例练手|详细讲解|爬取腾讯招聘网|一步一步分析|异步加载|初级难度反扒处理|寻找消失的API来找工作吧

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  8. 从入门到入土:Python爬虫学习|实例练手|爬取猫眼榜单|Xpath定位标签爬取|代码

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  9. 从入门到入土:Python爬虫学习|实例练手|爬取百度翻译|Selenium出击|绕过反爬机制|

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

最新文章

  1. TMS320C6678上电配置和FPGA复位DSP
  2. linux shell命令分布执行,Linux学习笔记:bash特性之多命令执行,shell脚本
  3. 脑电波之父:汉斯·贝格尔_深度学习,认识聪明的汉斯
  4. 加个ing是什么意思_take的意思竟然是“要求”?奇奇怪怪的熟词僻义打卡终于来了!...
  5. ambari 修改服务器名,Ambari修改主页面方法
  6. (王道408考研操作系统)第五章输入/输出(I/O)管理-第一节7:缓冲区管理
  7. 一文掌握关于Java数据结构所有知识点(欢迎一起完善) 1
  8. USACO / Sorting a Three-Valued Sequence (简单题,方法正确性待证)
  9. web前端基础(02html表格)
  10. 最全面的AndroidStudio配置指南总结-包括护眼模式
  11. 摆动定价机制连载系列之推出背景及工作原理介绍
  12. 百度AI人脸识别与检测五:学生人脸识别打卡签到系统之百度AI人脸识别
  13. 半导体物理学习笔记(一)
  14. 计算机服务器机房设计方案,机房设计方案.pdf
  15. 内存颗粒性能测试软件,PC技巧分享 篇四:如何通过快速识别内存颗粒了解超频性能...
  16. xp系统更改计算机名c盘,c盘满了怎么办,小编教你电脑xp的c盘满了怎么办
  17. wifi无线破解记录
  18. MySQL binlog时间异常分析
  19. 【微信小程序开发】(一)开发环境和小程序公众号申请
  20. matlab读lExcel文字,matlab读取excel文件及其数据处理

热门文章

  1. 【less-2】sqli-labs靶场第二关
  2. python matplotlib 给图任意加标注
  3. c/c++教程 - 2.4.2.3~4 拷贝构造函数的调用时机,构造函数调用规则
  4. MySQL学习记录 (三) ----- SQL数据定义语句(DDL)
  5. 敏捷开发团队管理系列之一:序言与出发点
  6. EntityFramewrok 使用
  7. 206. Reverse Linked List (LL)
  8. LVS小型系统架构搭建笔记
  9. hive数据库的哪些函数操作是否走MR
  10. 20150317--TP