urllib:简单的贴吧页面爬取代码

Posted wshr210

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了urllib:简单的贴吧页面爬取代码相关的知识,希望对你有一定的参考价值。

from urllib import request
import time
import urllib
import urllib.parse

#根据url发送请求,获取服务器响应文件
def loadPage(url,filename):
    print(‘正在下载‘ + filename)
    headers = 
        ‘User - Agent‘: ‘Mozilla / 5.0(Windows NT 6.1;WOW64) AppleWebKit / 537.36(Khtml, like Gecko) Chrome / 65.0.3325.181 Safari / 537.36‘
    
    req = urllib.request.Request(url,headers=headers)
    return urllib.request.urlopen(req).read()

#将html内容写入本地
def writePage(html,filename):
    print(‘正在保存‘ + filename)
    with open(filename,‘wb‘) as f:
        f.write(html)
    print(‘-------------------------------‘)



# http://tieba.baidu.com/f?kw=python&fr=ala0&tpl=5    第一页
# http://tieba.baidu.com/f?kw=python&ie=utf-8&pn=0      按照规律这个和上面的第一页url是一样的

# http://tieba.baidu.com/f?kw=python&ie=utf-8&pn=50     第二页

# http://tieba.baidu.com/f?kw=python&ie=utf-8&pn=100   第三页

# http://tieba.baidu.com/f?kw=python&ie=utf-8&pn=150    第四页

# http://tieba.baidu.com/f?kw=python&ie=utf-8&pn=200    第五页



#处理每个页面的url
def tiebaSpider(url,beginPage,endPage):
    for page in range(beginPage,endPage+1):
        pn = (page - 1) * 50
        filename=‘d:/yemian/第‘+str(page) + ‘页.html‘
        fullurl = url + ‘&pn-‘ + str(pn)
        html = loadPage(fullurl,filename)

        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(‘谢谢使用‘)
time.sleep(10)

  

以上是关于urllib:简单的贴吧页面爬取代码的主要内容,如果未能解决你的问题,请参考以下文章

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

爬虫新手学习2-爬虫进阶(urllib和urllib2 的区别url转码爬虫GET提交实例批量爬取贴吧数据fidder软件安装有道翻译POST实例豆瓣ajax数据获取)

简单爬虫-爬贴吧图片

02. 爬取get请求的页面数据

python3中运用urllib抓取贴吧的邮箱以及QQ

03.爬取get请求的页面数据