#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. [javase基础] JDK JRE JVM的区别?

    JDK Java Development Kit 用作开发, 包含了JRE,编译器和其他的工具(比如: JavaDoc,Java调试器),可以让开发者开发.编译.执行Java应用程序. JRE Jav ...

  2. Android功耗评测系列之——软件评测方案原理

    软件评测方案也有很多种,但核心原理都是同一个.       软件评测方案中,所有Android功耗的统计都是通过代码进行估算,没有任何实体电路和硬件设备参与统计汇报. 这个配置文件存储在Android ...

  3. 【串线篇】SpringMvc框架乱码

    提交的数据可能有乱码: * 请求乱码: *      GET请求:改server.xml:在8080端口处URIEncoding="UTF-8" *      POST请求: * ...

  4. Python--数据类型与变量(列表、元祖、字典)

    今天我们来看Python中3种內建的数据结构:列表.元祖和字典 列表 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素特性:1.可存放多个值2.可修改指定索引位置对应的值,可变 ...

  5. 洛谷 P1271 聚会的快乐(树状dp)

    题目描述 你要组织一个由你公司的人参加的聚会.你希望聚会非常愉快,尽可能多地找些有趣的热闹.但是劝你不要同时邀请某个人和他的上司,因为这可能带来争吵.给定N个人(姓名,他幽默的系数,以及他上司的名字) ...

  6. jdbc blob插入及查询操作

    首先建一张表 create table picture( picId ) primary key not null, picName ) not null, picfile image null ) ...

  7. window环境mysql卸载不干净

    停止MySQL服务1添加删除程序中卸载MySQL2到安装目录删除MySQL3删除:C:\Documents and Settings\All Users\Application Data\MySQL ...

  8. POJ 3904 (莫比乌斯反演)

    Stancu likes space travels but he is a poor software developer and will never be able to buy his own ...

  9. I/O 优化

    数字的读入优化: /* I/O * Au: GG */ #include <cstdio> #include <cstdlib> #include <cmath> ...

  10. Use Git Credential Managers to Authenticate to Azure Repos

    https://docs.microsoft.com/en-us/azure/devops/repos/git/set-up-credential-managers?view=azure-devops ...