没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Python 爬虫在数据获取和自动化任务中扮演着重要角色。以下介绍几种常见的
基础 Python 爬虫方法。
一、使用 Urllib 方法
在 Python 中,urllib 库是另一个用于处理 URL 和进行网络请求的标准库。虽
然 requests 库因其简洁易用而广受欢迎,但 urllib 库也提供了基本的网络爬
虫功能。
代码语言:javascript
Urllib 是 python 内置的 HTTP 请求库 import urllib.request
#1.定位抓取的 url
url='http://www.baidu.com/'
#2.向目标 url 发送请求
response=urllib.request.urlopen(url)
#3.读取数据
data=response.read()
# print(data) #打印出来的数据有 ASCII 码 print(data.decode('utf-8')) #decode 将相应编码格式的数据转换
成字符串
代码语言:javascript
#post 请求 import urllib.parse
url='http://www.iqianyue.com/mypost/'
#构建上传的 data
postdata=urllib.parse.urlencode({
'name':'Jack',
'pass':'123456'}).encode('utf-8') #字符串转化成字节流数据
html=urllib.request.urlopen(url,data=postdata).read()print(html)
代码语言:
javascript
#headers 针对检验头信息的反爬机制 import urllib.request
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/58.0.3029.110 Safari/537.36'}
request1=urllib.request.Request('https://www.dianping.com/',headers=headers)#Request 类构建了一个完整的
请求
response1=urllib.request.urlopen(request1).read()print(response1.decode('utf-8'))
代码语言:
javascript
#超时设置+异常处理 import urllib.requestimport urllib.errorfor i in range(20):
try:
response1=urllib.request.urlopen('http://www.ibeifeng.com/',timeout=0.01)
print('a')
except urllib.error.URLError as e:
print(e)
except BaseException as a: #所有异常的基类
print(a)
二、使用 requests 方法
使用
requests
库发送
HTTP
请求:
requests
是
Python
中非常流行的
HTTP
客户端库,可以轻松地发送
HTTP
请求
并获取网页内容。
通过调用
requests.get()
或
requests.post()
等方法,可以发送
GET
或
POST
请
求。
设置请求头、代理等信息也很方便,可以模拟不同的浏览器行为。
–Requests
是用
python
语言基于
urllib
编写的,采用的是
Apache2 Licensed
开
源协议的
HTTP
库
–urllib 还是非常不方便的,而 Requests 它会比 urllib 更加方便,可以节约我们
大量的工作。
–requests 是 python 实现的最简单易用的 HTTP 库,建议爬虫使用 requests 库。
–默认安装好 python 之后,是没有安装 requests 模块的,需要单独通过 pip 安
装
代码语言:
javascript
import requests
#get 请求
r=requests.get('https://www.taobao.com/')
#打印字节流数据
# print(r.content)
# print(r.content.decode('utf-8')) #转码 print(r.text) #打印文本数据
import chardet
#自动获取到网页编码,返回字典类型 print(chardet.detect(r.content))
代码语言:javascript
POST 请求实现模拟表单登录 import requests
#构建上传到网页的数据
data={
'name':'Jack',
'pass':'123456'}
#带登陆数据发送请求
r=requests.post('http://www.iqianyue.com/mypost/',data=data)print(r.text) #打印请求数据
#将登录后的 html 储存在本地
f=open('login.html','wb')
f.write(r.content) #写入字节流数据
f.close()
剩余12页未读,继续阅读
资源评论
icysmile131
- 粉丝: 3496
- 资源: 142
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功