#encoding:utf-8

import urllib

import urllib.request

from lxml import etree

class Spider(object):

def __init__(self):

self.tiebaName="校花"

self.beginPage=1

self.endPage=3

self.url="http://tieba.baidu.com/f?"

self.ua_header = {"User-Agent" : "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1 Trident/5.0;"}

self.fileName=1

#构造url

def tiebaSpider(self):

for page in range(self.beginPage,self.endPage+1):

pn=(page-1)*50

wo={'pn':pn,'kw':self.tiebaName}

word=urllib.parse.urlencode(wo)

myurl=self.url+word

self.loadPage(myurl)

#爬取页面内容

def loadPage(self,url):

req=urllib.request.Request(url,headers=self.ua_header)

data=urllib.request.urlopen(req).read()

html=etree.HTML(data)

links=html.xpath('//div[@class="threadlist_lz clearfix"]/div/a/@href')

for link in links:

link="http://tieba.baidu.com"+link

self.loadImages(link)

#爬取帖子详情页,获得图片的链接

def loadImages(self,link):

req=urllib.request.Request(link,headers=self.ua_header)

data=urllib.request.urlopen(req).read()

html=etree.HTML(data)

links=html.xpath('//img[@class="BDE_Image"]/@src')

for imageslink in links:

self.writeImages(imageslink)

#通过图片所在链接,爬取图片并保存图片到本地

def writeImages(self,imagesLink):

print("正在外汇返佣:",self.fileName,"....")

image=urllib.request.urlopen(imagesLink).read()

#保存图片到本地

file=open(r"C:\file\img\\"+str(self.fileName)+".jpg","wb")

file.write(image)

file.close()

self.fileName+=1

if __name__ == '__main__':

mySpider=Spider()

mySpider.tiebaSpider()

原文链接:https://blog.csdn.net/qq_28387873/article/details/103416728

BD贴吧图片爬虫的更多相关文章

  1. Python爬虫02——贴吧图片爬虫V2.0

    Python小爬虫——贴吧图片爬虫V2.0 贴吧图片爬虫进阶:在上次的第一个小爬虫过后,用了几次发现每爬一个帖子,都要自己手动输入帖子链接,WTF这程序简直反人类!不行了不行了得改进改进. 思路: 贴 ...

  2. Python图片爬虫

    1.今天给大家介绍自己写的一个图片爬虫,说白了就是从网页自动上下载需要的图片 2.首先选取目标为:http://www.zhangzishi.cc/涨姿势这个网站如下图,我们的目标就是爬取该网站福利社 ...

  3. Java 图片爬虫,java打包jar文件

    目录 1. Java 图片爬虫,制作 .jar 文件 spider.java 制作 jar 文件 添加执行权限 1. Java 图片爬虫,制作 .jar 文件 spider.java spider.j ...

  4. C#多线程图片爬虫

    写了个简单的多线程图片爬虫,整理一下.数据已经爬下来了,图片URL需要自行拼接,首先从Lawyers表中取的RawData字段,RawData中有一个list字段是json格式的数据,需要的只是lis ...

  5. 【Python爬虫实战】 图片爬虫-淘宝图片爬虫--千图网图片爬虫

    所谓图片爬虫,就是从互联网中自动把对方服务器上的图片爬下来的爬虫程序.有些图片是直接在html文件里面,有些是隐藏在JS文件中,在html文件中只需要我们分析源码就能得到如果是隐藏在JS文件中,那么就 ...

  6. 我的图片爬虫demo

    本来是根据scrapy教程写了一个下载图片的简易爬虫,但是搞了一天,死活下载不了图片. 然后换了一个网站,用原生的库写了一个图片爬虫. import urllib.requestimport osde ...

  7. 【Python】nvshens按目录批量下载图片爬虫1.00(单线程版)

    # nvshens按目录批量下载图片爬虫1.00(单线程版) from bs4 import BeautifulSoup import requests import datetime import ...

  8. crawler4j图片爬虫

    该实例主要演示下如何爬取指定网站的图片: 代码中有详细注释: 首先写一个ImageCrawler类: package com.demo.imageCrawler4j; import java.io.F ...

  9. Jmeter(四十一)_图片爬虫

    今天教大家用元件组合,做一个网页图片爬虫. 需要用到的元件:循环控制器+计数器+xpath提前器+函数嵌套+beanshell代码 首先我们确定一下要爬取的图片网站:https://dp.pconli ...

随机推荐

  1. java命令-jstack

    jstack用于生产java虚拟机当前时刻的线程快照.线程快照是当前java虚拟机内每一条线程正在执行的方法 堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,比如线程间死锁.死循环. ...

  2. docker-ce创建gitlab-ce容器笔记

    前言 vagrant + ubuntu 16.04 设置 apt 源 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo vim ...

  3. 属性class与:class

    1.官方的案例 我们可以传给 v-bind:class 一个对象,以动态地切换 class <div v-bind:class="{ active: isActive }"& ...

  4. python核心编程socket备忘

    服务器端: # Echo server program from socket import * from time import ctime HOST = '' # Symbolic name me ...

  5. 【TCP】四次握手原因 / TIME_WAIT作用

    为什么建立TCP连接需要三次握手? 原因:为了应对网络中存在的延迟的重复数组的问题 例子: 假设client发起连接的连接请求报文段在网络中没有丢失,而是在某个网络节点长时间滞留了,导致延迟到达ser ...

  6. 如果全球的沙子都对你发起DDoS攻击,如何破?

    IPv6已来 2016年6月1日开始,苹果规定所有提交至AppStore的应用必须兼容IPv6-only标准.可以预计,2018年底会有大量互联网资源.上网用户使用IPv6协议.这意味着,如果一个互联 ...

  7. oracle查看数据库版本和字符集

    以下以oralce为例, 查看数据库版本? 可以在pl/sql上执行:select * from v$version; 查看字符集? select * from v$nls_parameters; s ...

  8. GO 学习资源收集

     golang图书,在线阅读Go轻松学https://www.golang123.com/book/16 Go示例学https://www.golang123.com/book/17 Go Web 编 ...

  9. HTTP超详细总结

    HTTP协议概述 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的 ...

  10. 23. requests安装与使用

    Windows下安装requests 在介绍requests库之前,先贴一下requests官网,当然也可以访问requests中文网站 requests官网给出以下介绍:Requests 唯一的一个 ...