沉迷include 发表于 2019-1-2 16:33:06

爬取百度贴吧的帖子图片

本帖最后由 沉迷include 于 2019-1-16 21:56 编辑

爬取百度贴吧的帖子图片

        例如:美女吧
        『每周一星』第一百四十期 的帖子内全部图片




**** Hidden Message *****


--------------------------------------------------------
回复可见源码

woduhaitao 发表于 2019-1-3 09:19:12

?

zhuangyao 发表于 2019-1-10 16:16:42

围观 顶起

zhuangyao 发表于 2019-1-10 16:27:44

有问题的确定能爬完好像只爬了60张图片就没了~~

沉迷include 发表于 2019-1-10 18:27:00

zhuangyao 发表于 2019-1-10 16:27
有问题的确定能爬完好像只爬了60张图片就没了~~

有报错误吗?发给我一下,看看

zhuangyao 发表于 2019-1-11 08:57:35

沉迷include 发表于 2019-1-10 18:27
有报错误吗?发给我一下,看看

报错倒没有    就是下载了好几页每页大概60张图片去文件夹 看结果只有60张左右不应该是每页全部图片吗

HyunCinx 发表于 2019-1-12 13:25:38

爬取百度贴吧的帖子图片

沉迷include 发表于 2019-1-13 18:53:38

zhuangyao 发表于 2019-1-11 08:57
报错倒没有    就是下载了好几页每页大概60张图片去文件夹 看结果只有60张左右不应该是每页全部图 ...

啊哈哈哈哈……可能不小心手抖删了
html = url_open(url)

这句改成
html = url_open(urls)

qq664752 发表于 2019-1-13 22:25:54

6666666666

Dammit 发表于 2019-1-14 02:48:46

1

qiaoqingyao 发表于 2019-1-14 03:00:43

网络爬虫嘛

守望星星 发表于 2019-1-14 08:25:48

123

_hello 发表于 2019-1-14 14:27:19

1

gotrick 发表于 2019-1-16 21:24:09

学习

洛水河 发表于 2019-1-18 20:55:40

看看

casanava 发表于 2019-1-18 21:25:41

学习

casanava 发表于 2019-1-18 22:37:52

请输入贴吧帖子网址:https://tieba.baidu.com/index.html
Traceback (most recent call last):
File "E:/python37/Lxp01/download_mmlx4.py", line 53, in <module>
    main()
File "E:/python37/Lxp01/download_mmlx4.py", line 48, in main
    get_img(url)
File "E:/python37/Lxp01/download_mmlx4.py", line 26, in get_img
    for i in range(1,page_num(url)):
File "E:/python37/Lxp01/download_mmlx4.py", line 21, in page_num
    return int(num)
IndexError: list index out of range

casanava 发表于 2019-1-18 23:06:37

import urllib.request
import re
import os

def url_open(url):
    req = urllib.request.Request(url)   
    req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.6815.400 QQBrowser/10.3.3006.400')   
    response = urllib.request.urlopen(req)
    html = response.read()
    return html

def save_imgs(folder,img_addrs):
    for each in img_addrs:
      filename = each.split('/')[-1]
      with open(filename,'wb') as f:
            img = url_open(each)
            f.write(img)

def get_page(url):
    html = url_open(url).decode('utf-8')   
    img_addrs = []      
    reg = r'data-original="(.*?)".*?alt="(.*?)"'
    reg = re.compile(reg,re.S)
    imgs = re.findall(reg,html)
    for im in imgs:
      img_addrs.append(im)
      return img_addrs

def download_mm(folder='ooxx11',pages=2):
    os.mkdir(folder)
    os.chdir(folder)   
    urL='https://www.doutula.com/article/list/?page={}'   
    for i in range(pages):
      page_url = urL.format(i)
      img_addrs = get_page(page_url)   
      save_imgs(folder,img_addrs)
   
if __name__ == '__main__':
    download_mm()

我这个代码也是爬取图片,运行OK,只是还有点问题,与大家讨论一下

行走的老熊 发表于 2019-1-20 09:39:25

围观中。。。

chaojipang 发表于 2019-1-20 10:34:12

试试
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 爬取百度贴吧的帖子图片