Python笔记【九】网络爬虫

爬取网页的基础知识-HTTP请求方法

  • HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD方法。 HTTP1.1

  • 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。
    在这里插入图片描述

爬取网页的基础知识-HTTP状态码在这里插入图片描述
爬取网页的基础知识-URL

  • URL是Uniform Resource Locator的缩写,即统一资源定位系统,也就是网址。
  • URL 遵守一种标准的语法,它由协议、主机名\域名、端口、路径、以及文件名这六个部分构成,
    在这里插入图片描述
    常见的标签如下:在这里插入图片描述

爬取网页的urllib库

  • 使用urllib库获取网页信息
  • 使用 urllib.request.urlopen()函数可以打开一个网站,读取并打印网页信息。
  • urllib.urlopen(url, data[, proxies])
  • urlopen()函数返回response对象
  • 函数的参数url表示远程数据的路径;data表示提交到url的数据;proxies用于设置代理。

使用urllib库获取网页信息

  • response对象的方法

  • info()方法: 返回一个httplib.HTTPMessage对象。

  • getcode()方法:返回HTTP状态码。如果是HTTP请求,200表示请求成功完成,404表示网址未找到。

  • geturl():返回请求的url。

urllib爬虫案例

  • 第4步 编写并运行Python爬虫程序,代码如下:
from re import findall
from urllib.request import urlopen

url = 'https://mp.weixin.qq.com/s?__biz=MzI4MzM2MDgyMQ==&mid=2247486249&idx=1&sn=a37d079f541b194970428fb2fd7a1ed4&chksm=eb8aa073dcfd2965f2d48c5ae9341a7f8a1c2ae2c79a68c7d2476d8573c91e1de2e237c98534&scene=21#wechat_redirect'
with urlopen(url) as fp:
    content = fp.read().decode()

pattern = 'data-type="png" data-src="(.+?)"'
#查找所有图片链接地址
result = findall(pattern, content)
#逐个读取图片数据,并写入本地文件
for index, item in enumerate(result):
    with urlopen(str(item)) as fp:
        with open(str(index)+'.png', 'wb') as fp1:
            fp1.write(fp.read())

爬取网页的requests库

  • requests库解析
  • requests库的requests.get()方法功能是网络爬虫和信息提交
  • res=requests.get(url[,timeout=n])
  • 该函数返回的网页内容会保存为一个response对象。参数url必须采用HTTP或HTTPS方式访问,可选参数timeout用于设定每次请求超时时间。

requests基本操作

  • 使用get()方法获取网页信息时设置cookies参数的用法:

>>> url = 'http://httpbin.org/cookies'
>>> cookies = dict(cookies_are='working')
>>> r = requests.get(url, cookies=cookies)  #设置cookies
>>> print(r.text)
{
  "cookies": {
    "cookies_are": "working"
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值