鱼C论坛

 找回密码
 立即注册
查看: 1019|回复: 10

爬虫 re 收不到需要的内容 求大佬帮助

[复制链接]
发表于 2018-11-11 18:51:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import urllib.request
import os
import re

def url_open(url):
    req = urllib.request.Request(url)
    req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36')   
    reponse = urllib.request.urlopen(url)  
    html = reponse.read()   
    return html

   

def get_page(url):
    html = url_open(url).decode('utf-8')

    a = html.find('current-comment-page') + 23
    b = html.find(']',a)
    return html[a:b]


def find_imgs(url):
    html = url_open(url).decode('utf-8')
    img_addrs = []
  

    a = re.findall(r'<img src="[^"]+\.jpg"',html)        #<<<<----------------------这里找到的是个[]空的列表 为啥啊其他地方检查了打印都有值都是对的
                                                                                                                <img src="http://ws2.sinaimg.cn/mw600/006qL5utgy1fx49sv457gj30xc1b3hdt.jpg"  这是要找的图片例子
    print(a)
    return img_addrs
        
def save_imgs(img_addrs):
    for each in img_addrs:
        
        filename = each.split('/')[-1]
        with open(filename,'wb') as f:
            img = url_open(each)
            f.wite(img)

def download_mm(folder='ooxx',pages=9):
    os.mkdir(folder)
    os.chdir(folder)
   
    url = 'http://jandan.net/ooxx'

    page_num = int(get_page(url))
    for i in range(pages):
        page_num -= i
        page_url = 'http://jandan.net/ooxx/page-'+str(page_num)+'#comments'
        
        img_addrs = find_imgs(page_url)
        save_imgs(img_addrs)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-11-11 19:02:12 | 显示全部楼层
a = re.findall(r'<img src="[^"]+\.jpg"',html)
标红的地方表示有问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-11 19:10:54 | 显示全部楼层
你先确定找的文档里有这个img
煎蛋反爬了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-11-11 19:21:31 | 显示全部楼层

红色地方什么问题啊0.0
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-11-11 19:24:48 | 显示全部楼层
塔利班 发表于 2018-11-11 19:10
你先确定找的文档里有这个img
煎蛋反爬了

有的
<a href="//ww3.sinaimg.cn/large/0073tLPGgy1fx4boj4q9uj30yi1pcb2a.jpg" target="_blank" class="view_img_link">[查看原图]</a>
就是这一个嘛   防反爬应该怎么弄呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-11 19:39:54 | 显示全部楼层
你这个图片根本不符合你的正则啊,

学到极客系列就行了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-11 19:42:15 | 显示全部楼层
Fowindy 发表于 2018-11-11 19:21
红色地方什么问题啊0.0

你双引号标错了,还有你那个单独的双引号怎么回事
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-11 19:46:05 | 显示全部楼层
正确的表达式是:
  1. a = re.findall(r'<img src="[^"]+\.jpg">', html)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-11-11 19:55:39 | 显示全部楼层
TCY 发表于 2018-11-11 19:46
正确的表达式是:

是一样的  0.0   
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-11 20:17:19 | 显示全部楼层
你还是看小甲鱼的教程把……
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-12 14:20:53 | 显示全部楼层
首先,请你打开煎蛋网的ooxx页面

然后按下Ctrl + U
看一下网页源代码好吗??
有你需要的图片链接吗??

肯定没有啊。
正则写的对不对有什么用啊??
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-3 23:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表