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

爬虫模块-requests的更多相关文章

  1. Python-网络爬虫模块-requests模块之请求

    Python原生库urllib库不太方便使用,本着"人生苦短, 我用Python"的珍惜生命精神, 基于urllib, 开发了一个对人类来说, 更好使用的一个库——requests ...

  2. Python-网络爬虫模块-requests模块之响应-response

    当requests发送请求成功后,requests就会得到返回值,如果服务器响应正常,就会接收到响应数据: Response响应中的属性和方法 常用属性: status_code: 数据类型:int ...

  3. Python--网络爬虫模块requests模块之响应--response

    当requests发送请求成功后,requests就会得到返回值,如果服务器响应正常,就会接收到响应数据: Response响应中的属性和方法 常用属性: status_code: 数据类型:int ...

  4. 爬虫之requests模块

    requests模块 什么是requests模块 requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求.功能强大,用法简洁高效.在爬虫领域中占据着半壁江山的 ...

  5. 04.Python网络爬虫之requests模块(1)

    引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症.冗余代码症.重新发明轮子症.啃文档 ...

  6. Python 爬虫二 requests模块

    requests模块 Requests模块 get方法请求 整体演示一下: import requests response = requests.get("https://www.baid ...

  7. Python网络爬虫之requests模块(1)

    引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症.冗余代码症.重新发明轮子症.啃文档 ...

  8. 爬虫概念 requests模块

    requests模块 - 基于如下5点展开requests模块的学习 什么是requests模块 requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求.功能 ...

  9. Python爬虫之requests模块(1)

    一.引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症.冗余代码症.重新发明轮子症.啃 ...

随机推荐

  1. layui导航

    关于导航 首先看一下官网的样式: <!DOCTYPE html><html><head> <meta charset="utf-8" /& ...

  2. 手撸ORM浅谈ORM框架之Query篇

    快速传送 手撸ORM浅谈ORM框架之基础篇 手撸ORM浅谈ORM框架之Add篇 手撸ORM浅谈ORM框架之Update篇 手撸ORM浅谈ORM框架之Delete篇 手撸ORM浅谈ORM框架之Query ...

  3. Spider--补充--Re模块_1

    # @ Author : Collin_PXY # 正则表达式: import re # 1,分步写法: # 1)rule.search(string) pattern='各小区' rule=re.c ...

  4. Pandas_基础_全

    Pandas基础(全) 引言 Pandas是基于Numpy的库,但功能更加强大,Numpy专注于数值型数据的操作,而Pandas对数值型,字符串型等多种格式的表格数据都有很好的支持. 关于Numpy的 ...

  5. [MIT6.006] 18. Speeding up Dijkstra 加速Dijkstra算法

    在之前的课我们讲过了Dijkstra算法,先回顾下,如下图: 那么如果加速DIjkstra算法寻找最短路径呢?这节课上讲师讲了两种方法:双向搜索(Bi-Directional Search)和目标方向 ...

  6. dp:322. Coin Change 自下而上的dp

    You are given coins of different denominations and a total amount of money amount. Write a function ...

  7. 154. Find Minimum in Rotated Sorted Array II(循环数组查找)

    Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (i.e. ...

  8. “三剑客”之sed手中有剑

    一.sed介绍 sed是Stream Editor(字符流编辑器)的缩写,简称流编辑器.sed是操作.过滤和转换文本内容的强大工具.常用功能包括对文件实现快速增删改查(增加.删除.修改.查询),其中查 ...

  9. 04、MyBatis DynamicSQL(Mybatis动态SQL)

    1.动态SQL简介 动态 SQL是MyBatis强大特性之一. 动态 SQL 元素和使用 JSTL 或其他类似基于 XML 的文本处理器相似. MyBatis 采用功能强大的基于 OGNL 的表达式来 ...

  10. 微信支付回调 敏感信息解密 v3 php

    今天博主用了一波微信的v3版本的支付,支付成功后发现回调跟v2的完全不一样,于是去看了了一波v3的文档,发现信息是经过加密的,需要解密才能获取的到 但是最悲催的是文档上没写怎么解密的,经过了一下午的百 ...