豆瓣 妹子 采集器,Python 处女座。。请各位指教

2014-07-14 23:45:57 +08:00
 O21
源码请看: /t/122627

Win 版本下载地址

http://good.gd/3091379.htm

我是win7 64位打包的。。不知道各位用会不会有什么BUG

题外话:这个小组真心没什么节操啊!!!


#
本程序必须使用代理抓取,这样做虽然麻烦,但是可以躲过豆瓣禁你Ip
支持自定义路径 测试环境win7 64位 没问题
9659 次点击
所在节点    分享创造
40 条回复
withrock
2014-07-15 13:06:46 +08:00
chenggiant
2014-07-15 15:02:08 +08:00
@O21 嗯,刚用mac试了下。不过路径还是看了下源码才知道该怎么输...
O21
2014-07-16 00:54:51 +08:00
@chenggiant :) 嘿嘿 现在已经更新啦。 自动采集代理 随机选取一个 进行采集
O21
2014-07-16 01:09:44 +08:00
@Fotix
@shyrock
@sujin190
@dingyaguang117
@puyo
@eslizn
@WhyLiam
@kawaiiushio
@paulw54jrn
@payne
@deslife
@sunjourney
@cocalrush
@vigoss
@1130335361
@qdsearoc
@gelupk
@zephyryu

代码更新啦 嘿嘿

增加内容
程序自动采集代理
采集代理后随机选择
然后自动下载图片保存

现在只需要输入 需要采集的数量就可以了 下载链接还是

http://162.244.92.122/DouBanMZ.zip
ChiangDi
2014-07-16 01:11:16 +08:00
刚去看了下那个小组,好奇怪的,为啥那么多人去晒
reorx
2014-07-16 01:16:13 +08:00
感谢楼主让我知道这个小组,认识了这个世界的广阔…
O21
2014-07-16 05:54:33 +08:00
连夜把 获取任何小组 跟 模拟浏览器访问 美化程序 还有默认输入什么的写好了 睡起来在发下 Python 真好玩 可以俺不会写多线程 蛋痛
paulw54jrn
2014-07-16 07:18:47 +08:00
@O21
一个主进程负责分析img url,把他们都放到Multiprocessing Queue里面,然后在多个worker thread之间共享,让worker负责具体的抓取. 不同的worker可以用不同的代理,防止屏蔽.
hging
2014-07-16 09:55:04 +08:00
从前我一直不相信星座,直到公司招进来两个处女座。。。。。。。。

我真不是来黑的。。。。别打我。。。。。
zouyun5152
2014-07-16 10:37:13 +08:00
哈哈,牛逼
shyrock
2014-07-16 11:06:54 +08:00
python新手表示好奇,38行和51行的x+=1和i+=1起什么作用?
Pete
2014-07-16 12:33:58 +08:00
感谢楼主 我发现了广阔的世界 不过这个小组发现你偷偷采集会怎么样..
yangkuku
2014-07-16 12:41:04 +08:00
谢谢楼主制造了这个牛逼的程序,但是我的32位win7不能使用,好遗憾的说
O21
2014-07-16 12:53:53 +08:00
@hging 我本来想说 处女作 写错鸟
O21
2014-07-16 12:54:38 +08:00
@yangkuku 我昨天编译32位了啊
O21
2014-07-16 16:18:15 +08:00
http://cn-proxy.com/ 这网站被我弄得。。数据库连接超时了。。。不是我搞挂的吧。。。
yangkuku
2014-07-16 17:53:11 +08:00
弱弱的问一下 mac下怎么跑源码?
Owenjia
2014-07-16 20:03:01 +08:00
不是有这个一个网站的么~~http://www.dbmeizi.com/
jptiancai
2014-08-19 15:12:40 +08:00
@O21 看过下面这位仁兄的推荐也非常不错,支持开源!
@Owenjia
linKnowEasy
2014-08-31 16:34:01 +08:00
#coding:utf-8
import urllib.request
import re
import time
import sys
import os
from imp import reload
reload(sys)
print ('#'*50)
print ('This program is mainly collecting watercress <Do not be shy> group picture')
print ('#'*50)
print ('Collected before the need to enter a proxy server address, so we can prevent the douban shielding.')
print ('Recommend a proxy address: http://cn-proxy.com/')
print ('Only need to input the server address and port number, do not need to input HTTP')
print ('Demo:127.0.0.1:8080')
print ('#'*50)
proxy_input = input('127.0.0.1:8087:')
proxy_handler = urllib.request.ProxyHandler({'http':'%s'%proxy_input})
opener = urllib.request.build_opener(proxy_handler)
urllib.request.install_opener(opener)
img_LuJ = input('input path:')
img_LuJ2 = os.path.abspath(img_LuJ)
print(img_LuJ2)
def gethtml2(url2):
req = urllib.request.Request(url2)
html2 = urllib.request.urlopen(req).read()
return html2

def gettoimg(html2):
reg2 = r'http://www.douban.com/group/topic/\d+'
html2 = html2.decode('utf-8')
toplist = re.findall(reg2,html2)
x = 0
for topicurl in toplist:
x+=1
return topicurl

def download(topic_page):
reg3 = r'http://img3.douban.com/view/group_topic/large/public/.+\.jpg'
imglist = re.findall(b'reg3',topic_page)
i = 1
download_img = None
for imgurl in imglist:
img_numlist = re.findall(r'p\d{7}',imgurl)
for img_num in img_numlist:
download_img = urllib.request.urlretrieve(imgurl,img_LuJ2 + '/%s.jpg'%img_num)
time.sleep(1)
i+=1
print (imgurl)
return download_img

page_end = int(input('Please enter the page number:'))
num_end = page_end*25
num = 0
page_num = 1
while num<=num_end:
html2 = gethtml2('http://www.douban.com/group/haixiuzu/discussion?start=%d'%num)
topicurl = gettoimg(html2)
topic_page = gethtml2(topicurl)
download_img=download(topic_page)
num = page_num*25
page_num+=1

else:
print('Program to collect complete')



这个是我修改你的代码 python3下面跑成功但是没有获得图片 能不能帮忙看一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/122642

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX