最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Python爬虫如何爬取贴吧内容

    正文概述    2020-07-25   341

    Python爬虫如何爬取贴吧内容

    爬取贴吧内容

    先了解贴吧url组成:

    Python爬虫如何爬取贴吧内容

    每个贴吧url都是以'https://tieba.baidu.com/f?'开头,然后是关键字 kw=‘’贴吧名字‘’,再后面是 &pn=页数  (pn=0第一页,pn=50第二页,依次类推)

    更多关于Python爬虫的相关知识,可以关注Python学习网的Python爬虫栏目。

    1.先写一个main,提示用户输入要爬取的贴吧名,并用urllib.urlencode()进行转码,然后组合url

    2.接下来,写一个百度贴吧爬虫接口tiebaSpider(),需要传递3个参数给这个接口, 一个是main里组合的url地址,以及起始页码和终止页码,表示要爬取页码的范围。

    3.前面写出一个爬取一个网页的代码。然后,将它封装成一个小函数loadPage(),供我们使用。

    相关推荐:《Python视频教程》

    4.将爬取到的每页的信息存储在本地磁盘上,我们可以简单写一个存储文件的接口writePage()

    # _*_ coding:utf-8 _*_
    import urllib,urllib2
    def loadPage(url,filename):
        #根据url发送请求,获取服务器响应文件
        print '正在下载' + filename
        headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, 
        like Gecko) Chrome/60.0.3112.101 Safari/537.36'}
        request = urllib2.Request(url,headers = headers)
        content = urllib2.urlopen(request).read()
        return content
    def writePage(html,filename):
        #将html内容写入到本地
        print '正在保存' + filename
        with open(unicode(filename,'utf-8'),'w') as f:
            f.write(html)
        print '_' * 30
    def tiebaSpider(url,beginPage,endPage):
        #贴吧爬虫调度器,负责组合处理每个页面的url
        for page in range(beginPage,endPage + 1):
            pn = (page - 1) * 50
            filename = '第' + str(page) + '页.html'
            fullurl = url + '&pn=' + str(pn)
            # print fullurl
            html = loadPage(fullurl,filename)
            writePage(html,filename)
    if __name__ == '__main__':
        kw = raw_input('请输入贴吧名:')
        beginPage = int(raw_input('请输入起始页:'))
        endPage = int(raw_input('请输入结束页:'))
        url = 'https://tieba.baidu.com/f?'
        key = urllib.urlencode({'kw':kw})
        fullurl = url + key
        tiebaSpider(fullurl,beginPage,endPage)

    通过输入想要搜索的贴吧名字,爬取内容并保存到本地

    Python爬虫如何爬取贴吧内容


    起源地下载网 » Python爬虫如何爬取贴吧内容

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元