爬虫模块-requests
2024-09-05 13:42:15
title: python爬虫01
date: 2020-03-08 22:56:12
tags:
1、requests模块
requests模块的底层是urllib,但是比urllib更强大也更加简洁。
基本方法:
- requests.get()
- requests.post()
- requests.request()
- requests.head()
目前阶段只学习到了get和post方法。
其中get方法是获得请求的,post方法是发送请求的。
2、爬取百度贴吧网页实例
# coding=utf-8
import requests
class TiebaSpider:
def __init__(self,tieba_name):
self.tieba_name = tieba_name
self.tieba_url = "https://tieba.baidu.com/f?kw="+ tieba_name +"&ie=utf-8&pn={}"
self.header = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36"}
def getUrlList(self):
# url_list = []
# for i in range(3):
# url_list.append(self.tieba_url.format(i*50))
# return url_list
# 下方的是简洁写法,是主流的写法
return [self.tieba_url.format(i*50) for i in range(3)]
def get_content(self,url):
print(url)
response = requests.get(url,headers = self.header)
return response.content.decode()
def save_html(self,response,index):
file_name = "{}吧-第{}页.html".format(self.tieba_name,index)
# with open as 变量名 方式打开文件会在最后关闭文件
with open(file_name,"w",encoding="utf-8") as f:
f.write(response)
def run(self):
#1.获取要爬的url列表
url_list = self.getUrlList()
#2.开始爬取
for url in url_list:
response = self.get_content(url)
# 3.保存文件
self.save_html(response,url_list.index(url)+1)
if __name__ == '__main__':
tieba_name = input("请输入要爬取的贴吧名称:")
spider = TiebaSpider(tieba_name)
spider.run()
最新文章
- 如何获得Webapp的根项目路径 即ServletContext.getRealPath() 的输入参数要以";/";开头
- explict关键字
- windows 2003 修改远程桌面连接数详细方法
- 移动平台WEB前端开发技巧汇总
- Codeigniter夸应用调用model
- 前后端分离--mock
- 动态创建和移除HTML标签
- Java常用类--数字常用类
- 工具(3): 转换Excel表格到MarkDown:exceltk
- Myeclipse在debug模式下没加断点程序卡住,start模式下可以正常启动
- linux下允许和禁止root远程登录的方法
- 监控(3)进程通用shell
- [微信小程序]计算自己手机到指定位置的距离
- C++中的矩阵运算
- Eclipse 工具下Maven 项目的快速搭建
- for(var i=0;i<;5;i++){ setTimeout(function() { console.log(i) }, 100);}
- Delphi 的TStringBuilder防止服务器内存碎片化
- Web前端优化常用规则
- 根据段落编号自动添加书签的VBA
- Maven 常见知识点整理