百度贴吧爬虫程序

简介:

#coding:utf-8

import requests

import random



class TiebaSpider:

    def __init__(self,tieba_name):

        self.headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36'}

        self.tieba_name = tieba_name

        self.url_temp = "https://tieba.baidu.com/f?kw="+tieba_name+"&ie=utf-8&pn={}"


    def get_url_list(self):

        url_list = [self.url_temp.format(i*50) for i in range(0,30)]

        return url_list


    def parse_url(self,url):

        print('正在请求%s' % url)

        res = requests.get(url,headers = self.headers)

        return res.content.decode()


    def save_html_str(html_str,page_num):

        print('正在保存第%s页.html' % page_num)

        file_name = str(page_num)+'.html'

        with open(file_name,'w') as f:

            f.write(html_str)

            print('保存%s成功' % file_name)


    def run(self):

        #1.实现主要逻辑

        url_list = self.get_url_list()

        #2.遍历列表,发送请求,获取响应

        for url in  url_list:

            html_str = self.parse_url(url)

            #3.保存

            page_num = url_list.index(url) + 1

            self.save_html_str(html_str,page_num)


if __name__ == "__main__":

    tieba_name = input('请输入要贴吧名:')

    tieba = TiebaSpider(tieba_name)

    tieba.run()



本文转自 xxl714 51CTO博客,原文链接:http://blog.51cto.com/dreamgirl1314/1981063,如需转载请自行联系原作者

相关文章
|
数据采集 存储 JSON
使用Perl脚本编写爬虫程序的一些技术问题解答
使用Perl脚本编写爬虫程序的一些技术问题解答
|
7月前
|
数据采集 人工智能 数据可视化
Scala多线程爬虫程序的数据可视化与分析实践
Scala多线程爬虫程序的数据可视化与分析实践
|
4月前
|
数据采集 Web App开发 测试技术
如何避免反爬虫程序检测到爬虫行为?
这段内容介绍了几种避免被反爬虫程序检测的方法:通过调整请求频率并遵循网站规则来模拟自然访问;通过设置合理的User-Agent和其他请求头信息来伪装请求;利用代理IP和分布式架构来管理IP地址;以及采用Selenium等工具模拟人类的浏览行为,如随机点击和滚动页面,使爬虫行为更加逼真。这些技巧有助于降低被目标网站识别的风险。
|
3月前
|
数据采集 Python
微博爬虫程序的定时
微博爬虫程序的定时
28 1
|
5月前
|
机器学习/深度学习 数据采集 自然语言处理
Python实现循环神经网络SimpleRNN、LSTM进行淘宝商品评论情感分析(含爬虫程序)
Python实现循环神经网络SimpleRNN、LSTM进行淘宝商品评论情感分析(含爬虫程序)
Python实现循环神经网络SimpleRNN、LSTM进行淘宝商品评论情感分析(含爬虫程序)
|
6月前
|
数据采集 XML 存储
技术经验分享:C#构造蜘蛛爬虫程序
技术经验分享:C#构造蜘蛛爬虫程序
35 0
|
7月前
|
数据采集 缓存 算法
使用Python打造爬虫程序之Python中的并发与异步IO:解锁高效数据处理之道
【4月更文挑战第19天】本文探讨了Python中的并发与异步IO,区分了并发(同时处理任务)与并行(同时执行任务)的概念。Python的多线程受限于GIL,适合IO密集型任务,而多进程适用于CPU密集型任务。异步IO通过非阻塞和回调/协程实现高效IO,Python的asyncio库提供了支持。应用场景包括Web开发和网络爬虫等。实践指南包括理解任务类型、使用asyncio、避免阻塞操作、合理设置并发度和优化性能。理解并运用这些技术能提升Python程序的效率和性能。
|
7月前
|
数据采集 XML 数据挖掘
使用Python打造爬虫程序之HTML解析大揭秘:轻松提取网页数据
【4月更文挑战第19天】本文介绍了HTML解析在爬虫技术中的重要性,并通过Python的BeautifulSoup库展示了如何解析和提取数据。文章涵盖了HTML文档结构、使用BeautifulSoup的基本方法,如`find_all()`、选择器(标签、类、ID选择器)以及提取文本、属性和链接。此外,还讨论了遍历和处理嵌套元素的技巧。
|
7月前
|
数据采集 JavaScript 前端开发
使用Python打造爬虫程序之破茧而出:Python爬虫遭遇反爬虫机制及应对策略
【4月更文挑战第19天】本文探讨了Python爬虫应对反爬虫机制的策略。常见的反爬虫机制包括User-Agent检测、IP限制、动态加载内容、验证码验证和Cookie跟踪。应对策略包括设置合理User-Agent、使用代理IP、处理动态加载内容、验证码识别及维护Cookie。此外,还提到高级策略如降低请求频率、模拟人类行为、分布式爬虫和学习网站规则。开发者需不断学习新策略,同时遵守规则和法律法规,确保爬虫的稳定性和合法性。
|
7月前
|
数据采集 监控 前端开发
使用Python打造爬虫程序之入门探秘:掌握HTTP请求,开启你的数据抓取之旅
【4月更文挑战第19天】本文介绍了爬虫技术的基本概念和用途,阐述了HTTP协议的重要性。在Python中,借助requests库可轻松发送HTTP请求,如GET和POST。文章还展示了如何设置请求头、处理cookies和session。通过学习这些基础知识,读者将能够开始网络数据抓取,为进一步的数据分析奠定基础。后续文章将探讨HTML解析、动态内容处理及反爬虫策略。