您的位置:首页 > 编程语言 > Python开发

欢迎使用CSDN-markdown编辑器

2017-08-09 21:31 183 查看
百度贴吧 美女图片爬虫的制作


首先分析 百度贴吧 美女吧的网页分析

实用浏览器开发者工具测试 XPath 规则的准确性

直接上代码

执行环境

Python 2

lxml 等库必选安装好

#coding=utf-8
import urllib,urllib2
from lxml import etree
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"}

def network(url):
request=urllib2.Request(url,headers = headers)
html=urllib2.urlopen(request).read()
rerurn html

def tiebaSpider(fullurl, beginPage, endPage):
for page in range(beginPage, endPage + 1):
pn = (page - 1) * 50
#filename = "第" + str(page) + "页.html"
fullurl = url + "&pn=" + str(pn)
#print fullurl
loadPage(fullurl)
#print html

print "谢谢使用"

def loadPage(fullurl):
"""
作用:根据url发送请求,获取服务器响应文件
url: 需要爬取的url地址
"""
html=network(fullurl)
#此时是今天的重点 实用lxml规则找到自己想要的内容
content=etree.HTML(html)
linklist=content.xpath('//div[@class="t_con cleafix"]/div/div/div/a/@href')
for link in linklist:
fulllink="http://tieba.baidu.com" + link
print fulllink
loadimage(fulllink)
def loadimage(link):
html=network(link)
content=etree.HTML(html)
imglisturl=content.xpath('//img[@class="BDE_Image"]/@src')
for imgurl in imglisturl:
print imgurl
writeimage(imgurl)
def writeimg(imgurl):
"""
作用:将html内容写入到本地
link:图片保存
"""
#切片设置图片名称
filename = link[-10:]
img=network(imgurl)
with open(filename,'wb') as  f:
f.write(img)
printe '保存成功'

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

url = "http://tieba.baidu.com/f?"
key = urllib.urlencode({"kw": kw})
fullurl = url + key
tiebaSpider(fullurl, beginPage, endPage)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  爬虫-python