Python爬虫之简单的爬取百度贴吧数据

已有人阅读此文 - - 未知

Python爬虫之简单的爬取百度贴吧数据知识,Python爬虫之简单的爬取百度贴吧数据图片 Python爬虫之简单的爬取百度贴吧数据内容,Python爬虫之简单的爬取百度贴吧数据介绍,Python爬虫之简单的爬取百度贴吧数据,爬虫,字符,拼接,页面,模块的正文:

Python爬虫之简单的爬取百度贴吧数据包含:Python爬虫之简单的爬取百度贴吧数据介绍的方法与命令流程等可以帮助到读者。

Python爬虫之简单的爬取百度贴吧数据例图

Python爬虫之简单的爬取百度贴吧数据

标签:spanwith open效果classgenartret贴吧请求头首先要使用的第类库有 urllib下的request 以及urllib下的parse 以及 time包 random包

之后我们定义一个名叫BaiduSpider类用来爬取信息

属性有 url:用来爬取的网址 headers:请求头

class BaiduSpider(object):

def __init__(self):

self.url = ‘http://tieba.baidu.com/f?kw={}&pn={}‘

self.headers = {‘UserAgent‘:‘Win7:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1‘}

之后我们定义三个方法 不涉及清洗数据

获取页面

1 #获取页面

2 def get_page(self,url):

3 #定义请求对象

4 req = request.Request(url=url,headers=self.headers)

5 #发起请求

6 res = request.urlopen(req)

7 #获取相应对象

8 html = res.read().decode(‘utf8‘, ‘ignore‘)

9 return html

保存数据

#保存数据

def write_page(s elf,filename,html):

#将数据保存到本地

with open(filename,‘w‘,encoding=‘utf8‘) as f:

f.write(html)

主函数

#主函数

def main(self):

name = input(‘请输入贴吧名:>>>>‘)

start = int(input(‘请输入起始页‘))

end = int(input(‘请输入终止页‘))

for page in range(start,end+1):

#拼接URL地址 ‘http://tieba.baidu.com/f?kw{}&pn={}‘

#进行编码 将中文字符编码为url地址编码

kw = parse.quote(name)

#获取当前页数

pn = (page1)*50

#进行url地址的拼接

url = self.url.format(kw,pn)

#获取相应

html = self.get_page(url)

filename = ‘{}第{}页.html‘.format(name,page)

self.write_page(filename,html)

#提示

print(‘第{}页爬取成功‘.format(page))

#控制爬取速度

time.sleep(random.randint(1,3))

最后 所有的代码展示如下

#导入模块

from urllib import request,parse

import time

import random

class BaiduSpider(object):

def __init__(self):

self.url = ‘http://tieba.baidu.com/f?kw={}&pn={}‘

self.headers = {‘UserAgent‘:‘Win7:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1‘}

#获取页面

def get_page(self,url):

#定义请求对象

req = request.Request(url=url,headers=self.headers)

#发起请求

res = request.urlopen(req)

#获取相应对象

html = res.read().decode(‘utf8‘, ‘ignore‘)

return html

#解析数据

def parse_page(self):

pass

#保存数据

def write_page(self,filename,html):

#将数据保存到本地

with open(filename,‘w‘,encoding=‘utf8‘) as f:

f.write(html)

#主函数

def main(self):

name = input(‘请输入贴吧名:>>>>‘)

start = int(input(‘请输入起始页‘))

end = int(input(‘请输入终止页‘))

for page in range(start,end+1):

#拼接URL地址 ‘http://tieba.baidu.com/f?kw{}&pn={}‘

#进行编码 将中文字符编码为url地址编码

kw = parse.quote(name)

#获取当前页数

pn = (page1)*50

#进行url地址的拼接

url = self.url.format(kw,pn)

#获取相应

html = self.get_page(url)

filename = ‘{}第{}页.html‘.format(name,page)

self.write_page(filename,html)

#提示

print(‘第{}页爬取成功‘.format(page))

#控制爬取速度

time.sleep(random.randint(1,3))

if __name__ == ‘__main__‘:

spider = BaiduSpider()

spider.main()

一个非常非常简单的爬虫就完成了 让我们看一下运行效果截图:

html文件打开后 与我们正常打开的网页并没有太大的差别

Python爬虫之简单的爬取百度贴吧数据标签:spanwith open效果classgenartret贴吧请求头原文地址:https://www.cnblogs.com/gongdada/p/11620613.html

1Python爬虫之简单的爬取百度贴吧数据系部分转载自网络,如有对程序员或作者侵犯,请联系我们立即删除,另:本文仅代表作者个人观点,与本网站无关。

2Python爬虫之简单的爬取百度贴吧数据这篇文章的原创性以及文中对于编程运维专业度的陈述文字 和内容未经本站证实,对本文以及其中全部或者部分内容及图片的有效性、文字的真实性、完整性、及时性本站不作任何保证或承诺以及推荐,本站非盈利,有对图片文字不适的请程序员及读者仅作参考并自行核实相关内容

3这篇Python爬虫之简单的爬取百度贴吧数据的文章,涉及的爬虫,字符,拼接,页面,模块命令,变量,函数,代码,类,库等皆是代称