安装 requests 库
pip install requests
项目引进 requests 库
import requests
requests 库中的主要方法
-
requests.request() 构造请求,是下面所有方法基础
-
requests.get(url,params,**kwargs) 获取网页信息
- url 请求的链接
- params 请求时传递的链接
- **kwargs 控制访问的参数
- 返回的是
response对象- response.status_code 状态码
- response.text HTTP响应的文本内容
- response.encoding HTTP编码方式
- response.content HTTP响应的二进制形式
- response.headers HTTP响应的头部信息
-
requests.head() 获取网页头部信息
-
requests.post() 向网页进行提交post请求
-
requests.put() 向网页进行put请求
-
requests.patch() 向网页提交局部修改请求
-
requests.delete() 向网页提交删除请求
修改爬虫的请求头,模拟为浏览器进行访问
requests.get(url, headers = {'user-agent':'Mozillia/5.0'})
提交get请求参数
requests.get(url, params={key:value})
爬取图片
r = requests.get( url )
with open( localPath, 'wb' ) as f:
// 获取二进制形式的请求响应
f.write(r.content)
// 关闭文件流
f.close()
安装和使用beautiful-soup
# 安装
pip install beautifulsoup4
# 使用
from bs4 import BeautifulSoup
soup = BeautifulSoup( r.text, 'html.parser' )
# 查看节点
soup.p
# 查看节点的文本内容
soup.p.string
# 查看节点的所有属性
soup.p.attrs
# 查看节点的指定属性的内容
soup.p.attrs['class']
# 查看所有儿子节点
soup.body.contents
# 查看所有儿子节点的迭代类型
soup.body.children
# 子孙节点的迭代类型
soup.body.descendants
# 查看父亲节点
soup.body.parent
# 查看所有祖先节点的迭代类型
soup.body.parents
# 美化 html 文件格式
soup.prettify()
# 查找元素内容
soup.find_all(name, attrs, recursive, string, **kwargs)
name : 标签名称 ( 'a', ['a','div'] )
attrs: 对标签属性值的检索 ( 'title', id = 'link1' )
recursive: 是否对子孙全部检索,默认True
安装和使用scrapy
# 创建一个新工程
scrapy startproject <工程名称>
# 创建一个爬虫
scrapy genspider <爬虫名称> <爬取的网站链接>
# 获取爬虫配置信息
scrapy settings
# 运行一个爬虫
scrapy crawl <爬虫名称>
# 列出所有爬虫
scrapy list
# 启动url调试命令行
scrapy shell