# -*- coding:utf-8 -*-import urllib.request
from lxml import etreedef loadPage(url):"""作用:根据url发送请求,获取服务器响应文件url: 需要爬取的url地址"""# headers = {"User-Agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11"}request = urllib.request.Request(url)html = urllib.request.urlopen(request).read()# 解析HTML文档为HTML DOM模型content = etree.HTML(html)# print content# 返回所有匹配成功的列表集合link_list = content.xpath('//div[@class="t_con cleafix"]/div/div/div/a/@href')# link_list = content.xpath('//a[@class="j_th_tit"]/@href')for link in link_list:fulllink = "http://tieba.baidu.com" + link# 组合为每个帖子的链接# print linkloadImage(fulllink)# 取出每个帖子里的每个图片连接
def loadImage(link):headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}request = urllib.request.Request(link, headers=headers)html = urllib.request.urlopen(request).read()# 解析content = etree.HTML(html)# 取出帖子里每层层主发送的图片连接集合# link_list = content.xpath('//img[@class="BDE_Image"]/@src')# link_list = content.xpath('//div[@class="post_bubble_middle"]')link_list = content.xpath('//img[@class="BDE_Image"]/@src')# 取出每个图片的连接for link in link_list:print("link:" + link)writeImage(link)def writeImage(link):"""作用:将html内容写入到本地link:图片连接"""# print "正在保存 " + filenameheaders = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}# 文件写入request = urllib.request.Request(link, headers=headers)# 图片原始数据image = urllib.request.urlopen(request).read()# 取出连接后10位做为文件名filename = link[-10:]# 写入到本地磁盘文件内with open("/Users/didi/Downloads/crawlertest/" + filename, "wb") as f:f.write(image)# print("已经成功下载 " + filename)def tiebaSpider(url, beginPage, endPage):"""作用:贴吧爬虫调度器,负责组合处理每个页面的urlurl : 贴吧url的前部分beginPage : 起始页endPage : 结束页"""for page in range(beginPage, endPage + 1):pn = (page - 1) * 50filename = "第" + str(page) + "页.html"print(filename)fullurl = url + "&pn=" + str(pn)print(fullurl)loadPage(fullurl)# print htmlprint("下载完成")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 + keytiebaSpider(fullurl, beginPage, endPage)

Python爬虫-爬取贴吧中每个帖子内的楼主图片相关推荐

  1. python爬虫爬取慕课网中的图片

    我们简单地爬取慕课网中免费课程下的第一页的图片,如想爬取多页图片,可以添加for循环自行实现 python版本:3.6.5 爬取网址:http://www.imooc.com/course/list ...

  2. 【爬虫】应用Python爬虫爬取豆瓣租房上的帖子信息

    GitHub项目地址:https://github.com/Donvink/Spider.BC 哔哩哔哩代码讲解:https://b23.tv/waSfUa CSDN博客地址:https://blog ...

  3. python爬取贴吧所有帖子-Python爬虫爬取百度贴吧的帖子

    同样是参考网上教程,编写爬取贴吧帖子的内容,同时把爬取的帖子保存到本地文档: #!/usr/bin/python #_*_coding:utf-8_*_ import urllib import ur ...

  4. Python爬虫爬取百度贴吧的帖子

    同样是参考网上教程,编写爬取贴吧帖子的内容,同时把爬取的帖子保存到本地文档: #!/usr/bin/python #_*_coding:utf-8_*_ import urllib import ur ...

  5. Python爬虫爬取虎牙数据!谁才是虎牙第一主播!

    首先打开我们所需要爬取的网站,这里我们挑选的是虎牙直播. 我们今天所爬取的数据就是直播名,直播地址,直播的人,观看数以及直播的类别,如下图所示 第一步关于直播的类别,从第一张图片我们可以看到在右边有直 ...

  6. python爬虫 爬取贝壳网中所有行政区内的二手房 将获取信息存于excle中--Excel文件 含分析

    -- coding: utf-8 -- """ Created on Sat Feb 29 19:13:37 2020 @author: acliu "&quo ...

  7. Python爬虫:爬取知乎上的视频,并把下载链接保存到md文件中

    Python爬虫:爬取知乎上的视频,并把下载链接保存到md文件中 1.需要的Python模块 主要是requests模块,用于得到的网页的数据 安装命令为:pip install requests 2 ...

  8. 【爬虫】利用Python爬虫爬取小麦苗itpub博客的所有文章的连接地址并写入Excel中(2)...

    [爬虫]利用Python爬虫爬取小麦苗itpub博客的所有文章的连接地址并写入Excel中(2) 第一篇( http://blog.itpub.net/26736162/viewspace-22865 ...

  9. python爬虫数据分析可以做什么-python爬虫爬取的数据可以做什么

    在Python中连接到多播服务器问题,怎么解决你把redirect关闭就可以了.在send时,加上参数allow_redirects=False 通常每个浏览器都会设置redirect的次数.如果re ...

最新文章

  1. .NET Framework 4.0的新特性
  2. 2021年3月19日 百度开发实习面试(质量效能研发部)(一面)
  3. CBV装饰校验的三种方式session
  4. Spring Cloud一站式的微服务架构解决方案
  5. OpenCV-Python教程(6)(7)(8): Sobel算子 Laplacian算子 Canny边缘检测
  6. php读取文件和读取redis,本地测试读取redis和普通文件缓存的速度,redis慢一倍?...
  7. 【渝粤教育】国家开放大学2019年春季 0320-22T学前教育学 参考试题
  8. C# 淘宝商品微信返利助手开发-(六)返利助手开发(4)如何通过淘口令解析的出来的地址获得返利信息
  9. 大工奥鹏计算机在线作业,大工20春《计算机网络技术》在线作业1题目【标准答案】...
  10. python设计模式六大原则_学习设计模式 - 六大基本原则之迪米特法则(示例代码)...
  11. 百面机器学习—3.逻辑回归与决策树要点总结
  12. 如何优雅地根治null值引起的Bug?!
  13. Ubuntu 上 ibus 拼音输入法(打字法)无法选词 BUG 的解决方案
  14. java web项目_一个完整JavaWeb项目开发总结
  15. Oracle Solaris系统,诺禾
  16. 软件测评师的一些重点①
  17. 幸运大转盘抽奖(前端uniapp)
  18. 高级计算机使用教程,计算器高级计算使用方法
  19. 二、鼎捷T100总账管理之核算项管理篇
  20. 《人类简史》《未来简史》读后感作文5000字

热门文章

  1. 中国移动一键免密登录103102 Android 包签名错误
  2. numpy矩阵与通用函数
  3. 使用poi+itextpdf将word转成pdf
  4. 联易融前端面试:判断数据类型
  5. 快速集成钉钉免登组件
  6. Jmeter的如何做接口测试的基础篇
  7. 遇见狂神说JavaWeb笔记详解
  8. 安徽大学计算机科学与技术考研科目,2019安徽大学计算机考研初试科目、参考书目、招生人数...
  9. 安徽大学计算机学院博士生导师,安徽大学计算机科学与技术学院博士生导师:张兆翔教授...
  10. Android 3.simpleNote