龙空技术网

python3爬取百度图片等数据通过hadoop平台存储及hive来分析处理

热忱先生 354

前言:

今天看官们对“python3百度云”可能比较注重,各位老铁们都需要分析一些“python3百度云”的相关文章。那么小编同时在网络上收集了一些有关“python3百度云””的相关知识,希望朋友们能喜欢,我们快快来了解一下吧!

python3爬取百度图片先附代码

#!/usr/bin/python

# -*- coding: utf-8 -*-

#from urllib import request

import requests

import urllib

import re #导入正则表达式模块,用于提取所需要的内容

def spiderPic(html,keyword):

print('正在查找:'+keyword+' 对应的文件,正在百度文件库中下载文件,请稍等...')

html= html + urllib.parse.quote(keyword,safe='/')

html=requests.get(html).text

for addr in re.findall('"objURL":"(.*?)"',html,re.S):

print('正在爬取URL地址:'+str(addr))

#print('正在爬取URL地址:'+str(addr)[0:30]+'...')

if __name__ == '__main__':

word=input('请输入您想要爬取的文件的关键词: ')

#result=requests.get(''+word)

#spiderPic('',word)

spiderPic(';ipn=r&ct=201326592&cl=2&fm=detail&lm=-1&st=-1&sf=2&fmq=&fm=detail&pv=&ic=0&nc=1&z

=&se=&showtab=0&fb=0&width=&height=&face=0&istype=2&ie=utf-8&word=',word)

print('爬取结束!')

看一下如何实现的

先看百度图片搜索的请求地址

复制请求地址:

;ps=1&ct=201326592&lm=-1&cl=2&nc=1&ie=utf-8&word=

后面要跟上请求的关键字 ,具体处理见代码。

爬取的具体图片地址

于是有了图片正则表达式的写法: for addr in re.findall('"objURL":"(.*?)"',html,re.S):

执行代码查看结果

可以复制URL到浏览器验证图片抓取情况。

可以将图片保存到本地。

网络爬虫抓取的数据,持久化到本地后也可以上传到hdfs存储路径,使用hadoop大数据平台进一步存储和使用hive进行计算分析。

标签: #python3百度云