#!/usr/bin/python3
# -*- coding: utf-8 -*-
import requests
class TiebaSpider():
def __init__(self, kw, max_pn):
self.max_pn = max_pn
self.kw = kw
self.base_url = "https://tieba.baidu.com/f?kw={}&ie=utf-8&pn={}"
self.headers = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"
}
pass
def get_url_list(self):
'''
获取 url 列表
:return:
'''
# 写法一
'''
url_list = []
for pn in range(0,self.max_pn,50):
url = self.base_url.format(self.kw,pn)
url_list.append(url)
return url_list
'''
# 写法二
return [self.base_url.format(self.kw, pn) for pn in range(0, self.max_pn, 50)]
def get_content(self, url):
'''
发送请求获取响应内容
:param url:
:return:
'''
response = requests.get(
url=url,
headers=self.headers
)
return response.content
def get_items(self, content, index):
'''
从响应内容中提取数据
:param content:
:return:
'''
with open('tieba-{}.html'.format(index), 'wb') as f:
f.write(content)
return None
def save_items(self, items):
'''
保存数据
:param items:
:return:
'''
pass
def run(self):
# 1. 获取 url 列表
url_list = self.get_url_list()
for url in url_list:
# 2. 发送请求获取响应
content = self.get_content(url)
# 3. 从响应中提取数据
items = self.get_items(content, url_list.index(url) + 1)
# 4. 保存数据
self.save_items(items)
pass
if __name__ == '__main__':
spider = TiebaSpider("英雄联盟", 150)
spider.run()
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Python是一种非常流行的编程语言,有许多优势使其成为编写网络爬虫的理想选择: 1. **简洁易读的语法**:Python具有清晰简洁的语法结构,易于理解和学习。这使得编写爬虫代码更加简单和可读,提高开发效率。 2. **丰富的第三方库**:Python拥有强大的第三方库,如Beautiful Soup、Requests、Scrapy等,用于网络数据抓取和处理。这些库提供了丰富的功能和工具,帮助开发者快速编写高效的爬虫程序。 3. **跨平台支持**:Python是跨平台的编程语言,可以在多个操作系统上运行,包括Windows、Linux和MacOS等。这意味着你可以在不同环境下部署和运行爬虫程序。 4. **强大的数据处理能力**:Python在数据处理和分析领域有着广泛应用,拥有丰富的数据处理库(如NumPy、Pandas),能够轻松处理爬取到的数据并进行进一步的分析和处理。 5. **社区支持及文档丰富**:Python拥有庞大活跃的开发者社区,你可以在社区中获得丰富的资源和经验分享。此外,Python拥有完善的官方文档和教程,帮助开发者快速入门并解决问题。 总的来
资源推荐
资源详情
资源评论
收起资源包目录
0x01baidutieba.rar (1个子文件)
0x01baidutieba
0x01baidutieba.py 2KB
共 1 条
- 1
资源评论
专家-百锦再@新空间代码工作室
- 粉丝: 1w+
- 资源: 806
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 使用ASP.NET Core和Entity Framework Core来构建一个基本的进销存系统.rar
- 深度学习经典数据集+FER2013面部表情识别+附带使用方法的python代码
- Python中,要实现连接多个相机并识别多个二维码.rar
- 使用FFT算法对一个信号进行分析.rar
- 171cms游戏应用下载系统源码.zip
- 基于jsp+servlet+mysql蛋糕甜品店购物网站源码+数据库(期末大作业).zip
- Java项目:在线蛋糕商城系统(java+jsp+mysql)源码+数据库+期末大作业.zip
- ZapyaClient10_7-1.apk
- 织梦cms站长导航网站源码.zip
- 基于SSM+MySQL的网络投票调查问卷系统源码+数据库(java期末大作业).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功