爬虫小练习:爬取指定贴吧名的贴吧页面(含注意点)

原创 2018年04月15日 23:51:33
#coding:utf-8

# from bs4 import BeautifulSoup

import urllib.request
import urllib.parse


def loadPage(url):
    '''
        作用:根据URL发送请求,获取服务器响应文件
        URL:需要爬去的URL地址
        filename:处理的文件名
    '''
    print("正在下载......")
    headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"}
    request = urllib.request.Request(url,headers=headers)
    html = urllib.request.urlopen(request).read().decode("utf-8")
    # print(html)
    return html


def writePage(html,filename):
    '''
        作用:将HTML内容写入到本地
        HTML:服务器响应文件内容
    '''
    print("正在保存%s......"%filename)
    filename = "下载的路径" + filename
    with open(filename,"w",encoding="utf-8") as f:
        f.write(html)
        print("保存完成!")
        print("-"*30)


def tiebaSpider(url,beginPage,endPage):
    '''
        作用:贴吧爬虫调度器,负责组合需要爬取每个页面的URL地址
        url:url贴吧URL的前面部分
        beginPage:起始页面
        endPage:终止页面
    '''
    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)
        # print(html)
        writePage(html,filename)


if __name__ == "__main__":
    kw = input("请输入要爬去的贴吧名:")
    beginPage = int(input("请输入起始页:"))
    endPage = int(input("请输入结束页:"))

    url = "http://tieba.baidu.com/f?"
    key = urllib.parse.urlencode({"kw":kw})
    fullurl = url + key

    tiebaSpider(fullurl,beginPage,endPage)
    print("谢谢使用!")

注:爬取到的页面信息,保存为 .html 文件后,再次双击打开,页面并不能完全打开,查看获取到的源码发现,有大量的div层已经被注释掉,页面反爬的一个问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011304490/article/details/79955244

用Python 爬虫爬取贴吧图片

之前一直在看机器学习,遇到了一些需要爬取数据的内容,于是稍微看了看Python爬虫,在此适当做一个记录。我也没有深入研究爬虫,大部分均是参考了网上的资源。先推荐两个Python爬虫的教程,网址分别是h...
  • u012705410
  • u012705410
  • 2015-08-15 20:34:18
  • 7032

python爬虫入门之爬取贴吧标题

#!/usr/bin/env python # -*- coding: utf-8 -*-import urllib2 import re#加载页面内容 def load_page(url): ...
  • cckevincyh
  • cckevincyh
  • 2016-11-12 13:35:32
  • 1541

python爬虫爬取NBA贴吧的所有精品贴

首先用直接的方法写,先尝试下能否爬取成功 #coding:utf-8 import urllib2,urllib import re ''' 1.准备url地址 2.准备请求头 3.创建请求对象 4...
  • zhaobig
  • zhaobig
  • 2017-08-15 19:35:27
  • 7987

《python爬虫实战》:爬取贴吧上的帖子

《python爬虫实战》:爬取贴吧上的帖子经过前面两篇例子的练习,自己也对爬虫有了一定的经验。 由于目前还没有利用BeautifulSoup库,因此关于爬虫的难点还是正则表达式的书写。但是,当写几个...
  • u010412719
  • u010412719
  • 2015-12-06 22:18:42
  • 10431

Python爬虫入门——爬取贴吧图片

最近忽然想听一首老歌,“I believe”  于是到网上去搜,把几乎所有的版本的MV都看了一遍(也是够无聊的),最喜欢的还是最初版的《我的野蛮女友》电影主题曲的哪个版本,想起女神全智贤,心血来潮,于...
  • z49434574
  • z49434574
  • 2016-06-01 00:40:04
  • 5305

Python爬虫__爬取贴吧图片和文本

1. 爬取图片1.1 前言这是一个李清照吧http://tieba.baidu.com/p/3825973883 里面有楼主上传的书法作品,每一楼的格式大致是这样,文本加上书法图片: ...
  • qq_24421591
  • qq_24421591
  • 2016-09-21 15:50:06
  • 3469

Python 爬虫获取某贴吧所有成员用户名

最近想用Python爬虫搞搞百度贴吧的操作,所以我得把原来申请的小号找出来用。有一个小号我忘了具体ID,只记得其中几个字母以及某个加入的贴吧。所以今天就用爬虫来获取C语言贴吧的所有成员。计划很简单,爬...
  • u011054333
  • u011054333
  • 2017-04-05 00:44:20
  • 1549

编写爬虫爬取百度贴吧帖子的学习笔记

再接再厉,再次使用python3学习编写了一个爬取百度贴吧帖子的程序,不多说,直接上关键代码 #抓取贴吧一个帖子上的内容(一页内容) import urllib import urllib.re...
  • sinat_34270232
  • sinat_34270232
  • 2018-01-26 21:13:38
  • 250

网络爬虫 Python爬虫 可爬取贴吧新闻等

  • 2015年05月06日 15:00
  • 17KB
  • 下载

百度贴吧java爬虫

  • 2015年12月09日 15:22
  • 273KB
  • 下载
收藏助手
不良信息举报
您举报文章:爬虫小练习:爬取指定贴吧名的贴吧页面(含注意点)
举报原因:
原因补充:

(最多只允许输入30个字)