鱼C论坛

 找回密码
 立即注册
查看: 1929|回复: 4

[已解决]想去一个小说网站爬小说,但是点击第一次弹出的是广告,小说链接匹配不上怎么办

[复制链接]
发表于 2017-4-5 16:43:22 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 石头怪 于 2017-4-5 16:45 编辑

import urllib.request
import os
import re


def open_url(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/57.0.2987.133 Safari/537.36')
    response = urllib.request.urlopen(url)

    html = response.read()
    return html
def find_num(url):
    html = open_url(url).decode('utf-8')

   
    note_num = re.findall(r'\d{5}\.html',html)
   
   
    return note_num
   
   
def get_downurl(note_url):
   
    print(note_url)
    html = open_url(note_url).decode('utf-8')
    p = r'<a class="downButton" href="([^"]+\.txt)"'
   
    download_url = re.findall(p,html)
   
    print(download_url)#测试
   
   

def save_note(download_url):
    pass



def downqisuu(folder='都市'):
    os.mkdir(folder)
    os.chdir(folder)

    url = 'http://www.qisuu.com/soft/sort04/'
    url1 = 'http://www.qisuu.com/'
   

    note_num = find_num(url)
    for each in note_num:
        note_url = url1 + each
        
    download_url = get_downurl(note_url)

    save_note(download_url)



if __name__ == '__main__':
    downqisuu()
   
最佳答案
2017-4-5 17:19:28
你的正则错了,(因为在上班没法用Python试)我用在线的正则试了一下,根本匹配不到下载链接
p = r'<a class="downButton" href="([^"]+\.txt)"'这个是错误的
你可以改成这样:
  1. p = "href='(.*?\.txt)'"
复制代码

把这个代入进去,提取到的应该是下面这种格式
  1. http://dzs.qisuu.com/txt/时空大掌柜.txt
复制代码

你自己试试看吧
其实在试探的时候可以自己先用在线正则工具试试能发找到你要的信息
用这个网站的可以http://tool.oschina.net/regex/
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-5 17:06:26 | 显示全部楼层
我试了一下,给了我一个链接
  1. http://www.qisuu.com/35299.html
复制代码

进去以后是一个电影巨匠的网站
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-5 17:19:28 | 显示全部楼层    本楼为最佳答案   
你的正则错了,(因为在上班没法用Python试)我用在线的正则试了一下,根本匹配不到下载链接
p = r'<a class="downButton" href="([^"]+\.txt)"'这个是错误的
你可以改成这样:
  1. p = "href='(.*?\.txt)'"
复制代码

把这个代入进去,提取到的应该是下面这种格式
  1. http://dzs.qisuu.com/txt/时空大掌柜.txt
复制代码

你自己试试看吧
其实在试探的时候可以自己先用在线正则工具试试能发找到你要的信息
用这个网站的可以http://tool.oschina.net/regex/
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-5 17:21:11 | 显示全部楼层
新手·ing 发表于 2017-4-5 17:06
我试了一下,给了我一个链接

进去以后是一个电影巨匠的网站

这个链接是对的,但是下载的链接匹配不上,因为有广告,现在就是不知道怎么过滤广告后获得下载链接
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-5 17:22:18 | 显示全部楼层
石头怪 发表于 2017-4-5 17:21
这个链接是对的,但是下载的链接匹配不上,因为有广告,现在就是不知道怎么过滤广告后获得下载链接

@ooxx7788 召唤爬虫大佬~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 18:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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