开始爬虫-向服务器发送请求

之前我们学习了爬虫的基础知识,现在我们正式开始爬虫实操。

GET请求

import requests
r=requests.get("http://httpbin.org/get")
print(r.text)#输出响应体内容
print(type(r))#输出Response的类型
print(r.status_code)#输出状态码
print(r.cookies)#输出cookies值

运行结果为:

开始爬虫——向服务器发送请求

GET返回结果中包含请求头、URL、IP等信息,如果想要附加额外的信息,可添加params参数:

import requests
params={
  "name":"name",
  "age":"22"
}
r=requests.get("http://httpbin.org/get",params=params)
print(r.text)#输出响应体内容

运行结果:

开始爬虫——向服务器发送请求

params参数

请求连接自动构造成了: "http://httpbin.org/get?name=name&age=22"

处理输出r.text,也可以输出JSON格式数据:

print(r.json()) #记得写成json(),否则无法获取json,会返回">"
开始爬虫——向服务器发送请求

json()返回数据

【注释:POST方法和GET相同】

抓取网页

我们用GET方法抓取一下今年高考作文考到的《红楼梦》,我们爬取一下豆瓣读书上的内容简介。

首先打开豆瓣读书,搜索“红楼梦”进入(https://book.douban.com/subject/1007305/)

开始爬虫——向服务器发送请求

红楼梦

右击鼠标,选择“检查”(或使用快捷键F12),再刷新下网页,在“元素“里找到内容简介的位置。

开始爬虫——向服务器发送请求

开发者工具

接下来开始正式爬虫

import requests

url='https://book.douban.com/subject/1007305/'
header={"User-Agent": "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36"}
res=requests.get(url,headers=header).text
content=BeautifulSoup(res,"html.parser")

data=content.find_all('div',attrs={'class':'intro'})
data
开始爬虫——向服务器发送请求

爬虫结果

这样我们就成功爬取了《红楼梦》的内容简介,但结果中还有些我们不想要的,如

,这就需要我们再进行处理一下。

import requests
from bs4 import BeautifulSoup

url='https://book.douban.com/subject/1007305/'
header={"User-Agent": "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36"}
res=requests.get(url,headers=header).text
content=BeautifulSoup(res,"html.parser")

data=content.find_all('div',attrs={'class':'intro'})
for i in data:
    print(i.get_text())#用get_text()方法获取文本
开始爬虫——向服务器发送请求

结果

今天就学到这里啦,还是有好多不会呀[流泪]

开始爬虫——向服务器发送请求

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章