python爬豆瓣小组_Python伪装浏览器请求爬虫豆瓣小组
Python爬虫,下载豆瓣小组图片
# -*- coding: utf-8 -*-
# -----------------------------------------------
# 程序:豆瓣小组图片爬虫
# 版本:1.0
# 语言:Python 3.4
# 作者:gdp12315
# 操作:输入豆瓣小组讨论版块地址、起始页面、终止页面
# 功能:下载小组帖子里发布的图片
# 注意:下载的保存地址为作者本机地址 读者根据自身情况更改
# -----------------------------------------------
import random
import socket
import http.cookies
import http.cookiejar
import urllib.request,re,time
ERROR = {
'0':'Can not open the url,checck you net',
'1':'Creat download dir error',
'2':'The image links is empty',
'3':'Download faild',
'4':'Build soup error,the html is empty',
'5':'Can not save the image to your disk',
}
class BrowserBase(object):
def __init__(self):
socket.setdefaulttimeout(20)
def speak(self,name,content):
print('[%s]%s', name,content)
def openurl(self,url):
"""
打开网页
"""
cookie_support= urllib.request.HTTPCookieProcessor(http.cookiejar.CookieJar())
self.opener = urllib.request.build_opener(cookie_support,urllib.request.HTTPHandler)
urllib.request.install_opener(self.opener)
user_agents = [
'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11',
'Opera/9.25 (Windows NT 5.1; U; en)',
'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)',
'Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.5 (like Gecko) (Kubuntu)',
'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070731 Ubuntu/dapper-security Firefox/1.5.0.12',
'Lynx/2.8.5rel.1 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/1.2.9',
"Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.7 (KHTML, like Gecko) Ubuntu/11.04 Chromium/16.0.912.77 Chrome/16.0.912.77 Safari/535.7",
"Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:10.0) Gecko/20100101 Firefox/10.0 ",
]
agent = random.choice(user_agents)
self.opener.addheaders = [("User-agent",agent),("Accept","*/*"),('Referer',url)]
try:
res = self.opener.open(url)
#print(res.read())
except Exception as e:
self.speak(str(e),url)
raise Exception
else:
return res
if __name__=='__main__':
splider=BrowserBase()
# ------------ begin ----------------------------
# 输入示例
# http://www.douban.com/group/Xsz/discussion?start=
# 1
# 2
#print('请输入豆瓣小组地址,去掉start=后面的数字')
url = str(input(u'请输入豆瓣小组地址,去掉start=后面的数字:\n'))
#url = 'http://www.douban.com/group/blabla/discussion?start='
page_bgn = int(input(u'请输入开始时的页码:\n'))
page_end = int(input(u'请输入结束时的页码:\n'))
num_end = (page_end-1)*25
num_now = (page_bgn-1)*25
while num_now <= num_end:
# 获得主题列表页面
html_topic_list = splider.openurl(url+str(num_now)).read().decode('utf-8')
# 获得主题列表
re_topic_list = re.compile(r'http://www\.douban\.com/group/topic/\d+')
topic_list = re_topic_list.findall(html_topic_list)
# 遍历每个主题 将其中图片下载下来
for topic_url in topic_list:
print('topic_url '+topic_url)
html_topic = splider.openurl(topic_url).read().decode('utf-8')
# 进入主题 获得图片下载地址列表(图片可能有多张)
re_img_list = re.compile(r'http://img\d\.douban\.com/view/group_topic/large/public/.+\.jpg')
img_list = re_img_list.findall(html_topic)
# 遍历图片下载地址列表 把每张图片保存到对应位置
for img_url in img_list:
print('img_url: '+img_url)
img_name = re.findall(r'p\d{7}',img_url)
download_img = urllib.request.urlretrieve(img_url,'D:\Python\pics\%s.jpg'%img_name)
time.sleep(2)
num_now = num_now + 25
else:
print('采集完成!')
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/gdp12315_gu/article/details/47323613
python爬豆瓣小组_Python伪装浏览器请求爬虫豆瓣小组相关推荐
- 如何用python爬股票数据_python爬虫股票数据,如何用python 爬虫抓取金融数据
Q1:如何用python 爬虫抓取金融数据 获取数据是数据分析中必不可少的一部分,而网络爬虫是是获取数据的一个重要渠道之一.鉴于此,我拾起了Python这把利器,开启了网络爬虫之路. 本篇使用的版本为 ...
- Python爬取、存储、分析、可视化豆瓣电影Top250
Python爬取.存储.分析.可视化豆瓣电影Top250 网站链接: https://movie.douban.com/top250 @文章目录 前言 一.python爬取目标数据,并写入csv文件 ...
- python爬取网页内容_Python爬虫原理解析
笔者公众号:技术杂学铺 笔者网站:mwhitelab.com 本文将从何为爬虫.网页结构.python代码实现等方面逐步解析网络爬虫. 1. 何为爬虫 如今互联网上存储着大量的信息. 作为普通网民,我 ...
- python爬去音乐_python爬去音乐
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 本文为大家分享了python爬取酷狗音乐排行榜的具体代码,供大家参考,具体内容如 ...
- python爬去音乐_Python爬虫——分析酷我音乐网站,并爬取歌曲-Go语言中文社区
前言: 爬取数据,我们都先必须了解开发者工具的使用和网页的源代码,即Python导入第三方库的步骤. 开发者工具使用步骤: 使用F12或者Ctrl+Shirt+i打开开发者工具 说明: 1)先检查HT ...
- python爬取王者_python 爬取王者荣耀高清壁纸
一.前言 打过王者的童鞋一般都会喜欢里边设计出来的英雄吧,特别想把王者荣耀的英雄的高清图片当成电脑桌面 预览一下桌面吧: 是不是看着这样的桌面也很带感,_ (学会这个技术,你可以爬取其他网站的类似图片 ...
- python爬网易云_python爬网易云音乐-知了汇智
项目名称:python爬取网易云音乐 项目背景: 利用python爬虫,selenium自动化工具对网易云音乐进行音频爬取并保存到本地.只需输入你需要下载的歌曲名字,就可用程序对歌曲(包括付费歌曲)进 ...
- python爬取流浪地球_python爬取《流浪地球》获十几万评论点赞,超给力!
原标题:python爬取<流浪地球>获十几万评论点赞,超给力! 我自己到现在其实还没看这部电影,毕竟这电影这么火,电影院现在都很难买到好的位置.所以我打算不如先看看大家是怎么评价这部电影的 ...
- python爬取图片实例_Python简单爬取图片实例
都知道Python的语法很简单易上手,也很适合拿来作爬虫等等,这里就简单讲解一下爬虫入门--简单地爬取下载网站图片.html 效果 就像这样自动爬取下载图片到本地:python 代码: 其实很简单,咱 ...
最新文章
- go run/ go install/ go build / go get的区别
- 面试官问:什么是布隆过滤器?
- 北京招聘 | 澜舟科技招聘NLP工程师、NLP研究员、产品项目经理
- Exchange 2013 OWA重定向
- DoTween NGUI bug
- git解决 “fatal: Could not read from remote repository.“
- nacos注册中心demo
- NumPy 简单应用
- 【python】语义分割(标签)黑色(单通道)图片的读取和显示方法
- python中if语句的实例_如何在Python中的if语句中调用某个函数?
- 怎么把文件传到虚拟机里
- 正则表达式 RegExp【详解】
- Linux快速入门教程
- win7下 Windows Process Activation Service 服务导致的 iis无法启动的解决方法
- 使用 macOS 为安卓刷机
- Parallel使用
- iphone同步android短信,如何从iPhone导入短信到Android手机?
- BRISK算法在OpenCV3.0中的使用
- PAT甲级A1042 Shuaffling Machine
- 《架构师》被孟岩表扬,心里高兴