爬虫学的好,牢饭吃得好(爬虫实例)

简介: 爬虫学的好,牢饭吃得好(爬虫实例)

爬虫学的好,牢饭吃得好(爬虫实例)

主要知识点:
1.标题web是如何交互的
2.requests库的get、post函数的应用
3.response对象的相关函数,属性
4.python文件的打开,保存

好,接下来先安装requests库
在pycharm命令行输入

pip install requests
1
安装好了以后咱先爬个baidu首页

爬虫示例,爬取百度页面

import requests #导入爬虫的库,不然调用不了爬虫的函数

response = requests.get("http://www.baidu.com") #生成一个response对象

response.encoding = response.apparent_encoding #设置编码格式

print("状态码:"+ str( response.status_code ) ) #打印状态码

print(response.text)#输出爬取的信息

1
2
3
4
5
6
7
8
9
10
11
12
get方法实例

get方法实例

import requests #先导入爬虫的库,不然调用不了爬虫的函数

response = requests.get("http://httpbin.org/get") #get方法

print( response.status_code ) #状态码

print( response.text )

1
2
3
4
5
6
7
8
9
10
post方法实例

post方法实例

import requests #先导入爬虫的库,不然调用不了爬虫的函数

response = requests.post("http://httpbin.org/post") #post方法访问

print( response.status_code ) #状态码

print( response.text )

1
2
3
4
5
6
7
8
9
10
get传参方法实例

get传参方法实例

import requests #先导入爬虫的库,不然调用不了爬虫的函数

response = requests.get("http://httpbin.org/get?name=hezhi&age=20") # get传参

print( response.status_code ) #状态码

print( response.text )

1
2
3
4
5
6
7
8
9
10
post传参方法实例

post传参方法实例

import requests #先导入爬虫的库,不然调用不了爬虫的函数

data = {

"name":"hezhi",
"age":20

}
response = requests.post( "http://httpbin.org/post" , params=data ) # post传参

print( response.status_code ) #状态码

print( response.text )

1
2
3
4
5
6
7
8
9
10
11
12
13
14
绕过反爬机制,以zhihu为例

import requests #先导入爬虫的库,不然调用不了爬虫的函数

response = requests.get( "http://www.zhihu.com") #第一次访问知乎,不设置头部信息

print( "第一次,不设头部信息,状态码:"+response.status_code )# 没写headers,不能正常爬取,状态码不是 200

下面是可以正常爬取的区别,更改了User-Agent字段

headers = {

    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36"

}#设置头部信息,伪装浏览器

response = requests.get( "http://www.zhihu.com" , headers=headers ) #get方法访问,传入headers参数,

print( response.status_code ) # 200!访问成功的状态码

print( response.text )

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
保存百度图片到本地

保存百度图片到本地

import requests #先导入爬虫的库,不然调用不了爬虫的函数

response = requests.get("https://www.baidu.com/img/baidu_jgylogo3.gif") #get方法的到图片响应

file = open("D:\爬虫\baidu_logo.gif","wb") #打开一个文件,wb表示以二进制格式打开一个文件只用于写入

file.write(response.content) #写入文件

file.close()#关闭操作,运行完毕后去你的目录看一眼有没有保存成功

目录
相关文章
|
数据采集 JSON API
C#网络爬虫实例:使用RestSharp获取Reddit首页的JSON数据并解析
C#网络爬虫实例:使用RestSharp获取Reddit首页的JSON数据并解析
|
5月前
|
数据采集 Python 前端开发
python语言通过简单爬虫实例了解文本解析与读写
python|通过一个简单爬虫实例简单了解文本解析与读写
|
5月前
|
数据采集 存储 Web App开发
python爬虫编写实例分享
python爬虫编写实例分享
43 0
|
6月前
|
数据采集 存储 JavaScript
Buzz库网络爬虫实例:快速爬取百度搜索实时热点
Buzz库网络爬虫实例:快速爬取百度搜索实时热点
|
数据采集 Python
python 爬虫 佛山区域,爬取餐厅的商户联系人公开号码,实例脚本
python 爬虫 佛山区域,爬取餐厅的商户联系人公开号码,实例脚本
|
6月前
|
数据采集 存储 数据处理
Python爬虫在Django项目中的数据处理与展示实例
Python爬虫在Django项目中的数据处理与展示实例
|
6月前
|
数据采集 Python
Python小知识 - 一个简单的Python爬虫实例
Python小知识 - 一个简单的Python爬虫实例
|
11月前
|
数据采集 NoSQL 关系型数据库
Go语言网络爬虫工程经验分享:pholcus库演示抓取头条新闻的实例
网络爬虫是一种自动从互联网上获取数据的程序,它可以用于各种目的,如数据分析、信息检索、竞争情报等。网络爬虫的实现方式有很多,不同的编程语言和框架都有各自的优势和特点。在本文中,我将介绍一种使用Go语言和pholcus库的网络爬虫工程,以抓取头条新闻的数据为例,展示pholcus库的功能和用法。
949 0
Go语言网络爬虫工程经验分享:pholcus库演示抓取头条新闻的实例
|
数据采集 Web App开发 运维
spider 网页爬虫中的 AWS 实例数据获取问题及解决方案
spider 网页爬虫中的 AWS 实例数据获取问题及解决方案
|
存储 数据采集
爬虫实例——爬取豆瓣网 top250 电影的信息
本节通过一个具体的实例来看下编写爬虫的具体过程。以爬取豆瓣网 top250 电影的信息为例,top250 电影的网址为:https://movie.douban.com/top250。在浏览器的地址栏里输入 https://movie.douban.com/top250,我们会看到如下内容:
253 0