赞
踩
目录
Requests库的安装
--使用cmd打开命令提示符,输入pip install requests
在Requests库中,GET请求通过调用get()函数发送,该函数会根据传入的URL构建一个请求(每个请求都是Request类的对象),将该请求发送给服务器。get()函数声明如下:
get(url , params = None , headers = None , cookies = None,
verify = True , proxies = None , timeout = None , **kwargs)
·url :表示请求的URL
·params :表示请求的查询字符串
·headers :表示请求的请求头,该参数只支持字典类型的值
·cookies :表示请求的Cookie信息,该参数支持字典或Cookie Jar类对象
·verify :表示是否用SSL证书,默认值为True
·proxies :用于设置代理服务器,该参数之支持字典类型的值
·timeout :表示请求网页时设定的超时时长,以秒为单位
在调用get()函数发送GET请求是只需要给url参数传入指定的URL即可。
方式一:
import requests
base_url='https://www.baidu.com/s'
param='wd=python'
full_url=base_url+'?'+param #拼接完整的URL#根据URL构造请求,发送GET请求,接收服务器返回的响应信息
response=request.get(full_url)
#查看响应码
print(response.status_code)
方式二:
import requests
base_url='https://www.baidu.com/s'wd_params={'wd':'python'}
#根据URL构造请求,发送GET请求,接收服务器返回的响应
response=requests.get(base_url,params=wd_params)
#查看响应码
print(response.status_code)
在调用get()函数发送GET请求时只需要给url参数传入指定的URL即可。
import requests
#准备URL
base_url='https://www.baidu.com'
#根据URL构造请求,发送GET请求,接收服务器返回的响应信息
response=requests.get(url_base_url)
#查看响应码
print(response.status_code)
get(url , data = None , headers = None , cookies = None , verify = True ,
proxies = None , timeout = None , json=None ,**kwargs)
·data :可选参数,表示请求数据。该参数可以接收3种类型的值,分别为字典、字节序列和文件对象。当参数值为字典时,字典的键为请求数据的字段,字典的值为请求数据中该字段对应的值,例如 {"ie":"utf-8","wd":"python"}。
·json :可选参数,表示请求数据中的JSON数据。
import requests
url = 'http://baidu.com/api'
data = {'key': 'value'}
response = requests.post(url, data=data)
print(response.text)
举个example:
在上述代码中,首先发送POST请求并获取响应。然后检查响应的状态码是否为200(表示成功),如果是的话,就会继续解析响应数据。这里响应是JSON格式,所以使用response.json()
方法将其解析为Python对象。
如果响应状态码不是200,表示请求失败,我们可以打印出状态码以进行进一步处理或调试。
寻找请求头,可以使用浏览器的开发者工具来查看网络请求的头部信息。具体步骤如下:
提取请求头的重要部分
- import requests
- from bs4 import BeautifulSoup
-
- # 定义要爬取的贴吧URL
- url = 'https://tieba.baidu.com/p/xxxxxx' # 将xxxxxx替换为你要爬取的帖子ID
-
- # 发送HTTP请求并获取网页内容
- headers = {
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
- }
- response = requests.get(url, headers=headers)
- html_content = response.text
-
- # 使用BeautifulSoup解析HTML内容
- soup = BeautifulSoup(html_content, 'html.parser')
-
- # 找到帖子列表所在的HTML标签
- thread_list = soup.find('div', {'class': 'threadlist'})
-
- # 提取帖子信息并打印
- for thread in thread_list.find_all('li'):
- title = thread.find('a', {'class': 'title'}).text.strip()
- print(title)
1. 选择合适的爬虫框架:可以使用 Python 中的一些常用爬虫框架,如 Scrapy、BeautifulSoup 或 Selenium 等。
2. 分析网页结构:在开始编写爬虫代码之前,需要了解百度贴吧的网页结构。可以通过浏览器的开发者工具来查看网页的 HTML 和 JavaScript 代码,找到包含贴吧数据的元素。
3. 获取贴吧数据:使用选择器(如 CSS 选择器或 XPath 表达式)来定位和提取贴吧数据。可以从网页中提取出贴吧的标题、链接等信息。
4. 处理数据:在获取到数据后,可能需要进行一些处理,例如去除 HTML 标签、转换数据格式等。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。