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()

最新文章

  1. 如何获得Webapp的根项目路径 即ServletContext.getRealPath() 的输入参数要以"/"开头
  2. explict关键字
  3. windows 2003 修改远程桌面连接数详细方法
  4. 移动平台WEB前端开发技巧汇总
  5. Codeigniter夸应用调用model
  6. 前后端分离--mock
  7. 动态创建和移除HTML标签
  8. Java常用类--数字常用类
  9. 工具(3): 转换Excel表格到MarkDown:exceltk
  10. Myeclipse在debug模式下没加断点程序卡住,start模式下可以正常启动
  11. linux下允许和禁止root远程登录的方法
  12. 监控(3)进程通用shell
  13. [微信小程序]计算自己手机到指定位置的距离
  14. C++中的矩阵运算
  15. Eclipse 工具下Maven 项目的快速搭建
  16. for(var i=0;i<5;i++){ setTimeout(function() { console.log(i) }, 100);}
  17. Delphi 的TStringBuilder防止服务器内存碎片化
  18. Web前端优化常用规则
  19. 根据段落编号自动添加书签的VBA
  20. Maven 常见知识点整理

热门文章

  1. vue实现带logo的二维码/商品条形码/打印商品吊牌
  2. 依赖注入DI(IOC)容器快速入门
  3. 基于gin的golang web开发:mysql增删改查
  4. 性能工具-io工具
  5. ceph的pg的分布的快速查看
  6. Java web 自动备份数据库和log4j日志
  7. 计算思维(美国CMU周以真教授)
  8. kube-flannel.yml 文件
  9. Java基础教程——Random随机数类
  10. ios中关于系统定位CLLocationManager的使用解析