python爬取贴吧小练习

需求分析:

从控制台输入指定爬取的贴吧名称,起始页面,结束页面,并在文件中创建以 贴吧名称+“爬取内容” 为名字创建文件件,里面的每一个文件都是爬取到的每一页html文件,文件名称:贴吧名称_page.html

import urllib.request

import urllib.parse

import os#引入os模块

tieba_name =input("请输入你要爬取的贴吧的名称")

page_start =int(input("请输入你要爬取的起始页面"))

page_end =int(input("请输入你要爬取的结束页面"))

url ='http://tieba.baidu.com/f?'

name_next ='吧爬取的内容'

#创建文件夹

os.mkdir(tieba_name+name_next)

#设置循环,爬取每一页

for pagein range(page_start,page_end+1):

print('第%d页正在下载'%page)

data = {

'kw':tieba_name,

'pn':(page-1)*50

    }

data = urllib.parse.urlencode(data)

headers = {

'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0',

}

#发出请求

    url_t = url+data

request = urllib.request.Request(url=url_t,headers=headers)

response = urllib.request.urlopen(request)

path = tieba_name+name_next+'/'+tieba_name+str(page)+'.html'

    with open(path,'wb')as fp:

fp.write(response.read())

print('第%d页下载完成' % page)



运行结果显示:


python爬取贴吧小练习_第1张图片
python爬取贴吧小练习_第2张图片

你可能感兴趣的:(python爬取贴吧小练习)