鱼C论坛

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

[技术交流] 很垃圾的爬虫代码,关于妹子的,只能爬取一个网页...

[复制链接]
发表于 2020-3-18 17:54:03 | 显示全部楼层 |阅读模式

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

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

x
import requests
import urllib.request
import re
def open_url(url):
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36'}
    req = requests.get(url = url,headers=headers)
    return req


url1 = 'http://www.rentifq.com/rentiyishu/34/1239'
url2 = url1 + '.html'
jpg_all = []
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36'}
response = requests.get(url = url2,headers=headers)
response = response.text
l = re.findall('<FONT COLOR=red><B>1</B></FONT> <A HREF="([\s\S]*)</a> <A', response)
for i in l:
    ur = re.findall('HREF="([\s\S]*?)">', i)
    ur =len(ur) + 2
    print('共%d页'%ur)

r = re.findall('img alt=([\s\S]*?.jpg)',response)
for each in r:
    jpg = re.findall('src="(/[\s\S]*?.jpg)',each)
    jpg = 'http://www.rentifq.com'+jpg[0]
    jpg_all.append(jpg)

for i in range(ur+1):
    if i > 1:
        url = url1 + '$' + str(i) + '.html'
        response = requests.get(url=url, headers=headers)
        response = response.text
        r = re.findall('img alt=([\s\S]*?.jpg)', response)
        for each in r:
            jpg = re.findall('src="(/[\s\S]*?.jpg)', each)
            jpg = 'http://www.rentifq.com' + jpg[0]
            jpg_all.append(jpg)
print(jpg_all)

for i in jpg_all:
    print(i)
    filname = i.split('/'[-1][-1])
    print(filname[-1])
    img = open_url(i).content
    with open(filname[-1],'wb') as f:
        f.write(img)






没封装好,大佬men2有没有升级的方案,或者全爬的思路......http://www.ren删tifq.com/
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-3-18 18:38:56 | 显示全部楼层
import requests
import re


def open_url(url):
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36'}
    req = requests.get(url = url,headers=headers)
    return req


headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36'}

res = requests.get(url = 'http://www.rentifq.com/',headers = headers)
res= res.text

ur = re.findall('<a href=[\s\S]*?.html',res)
for l in ur:
    ul = re.findall('<a href="([\s\S]*?).html',l)   #获取页面所有的网址
    # print(ul)

    for each1 in ul:#一个网址一个网址的遍历打开爬
        print(each1)
        if len(each1) <=30:
            url1 = 'http://www.rentifq.com'+ each1
            print(url1)
            url2 = url1 + '.html'
            jpg_all = []
            headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36'}
            response = requests.get(url = url2,headers=headers)
            response = response.text
            l = re.findall('<FONT COLOR=red><B>1</B></FONT> <A HREF="([\s\S]*)</a> <A', response)
            for i in l:
                ur = re.findall('HREF="([\s\S]*?)">', i)
                ur =len(ur) + 2
                print('共%d页'%ur)

            r = re.findall('img alt=([\s\S]*?.jpg)',response)
            for each in r:
                jpg = re.findall('src="(/[\s\S]*?.jpg)',each)
                jpg = 'http://www.rentifq.com'+jpg[0]
                jpg_all.append(jpg)

            for i in range(ur+1):
                if i > 1:
                    url = url1 + '$' + str(i) + '.html'
                    response = requests.get(url=url, headers=headers)
                    response = response.text
                    r = re.findall('img alt=([\s\S]*?.jpg)', response)
                    for each in r:
                        jpg = re.findall('src="(/[\s\S]*?.jpg)', each)
                        jpg = 'http://www.rentifq.com' + jpg[0]
                        jpg_all.append(jpg)
            print(jpg_all)

            for i in jpg_all:
                print(i)
                filname = i.split('/'[-1][-1])
                print(filname[-1])
                img = open_url(i).content
                with open(filname[-1],'wb') as f:
                    f.write(img)



更新版..............
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-18 19:28:02 | 显示全部楼层
import requests
import re


def open_url(url):
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36'}
    req = requests.get(url = url,headers=headers)
    return req


headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36'}

res = requests.get(url = 'http://www.rentifq.com/',headers = headers)
res= res.text

ur = re.findall('<a href=[\s\S]*?.html',res)
for l in ur:
    ul = re.findall('<a href="([\s\S]*?).html',l)   #获取页面所有的网址
    # print(ul)

    for each1 in ul:#一个网址一个网址的遍历打开爬
        if len(each1) <=30:
            url1 = 'http://www.rentifq.com'+ each1
            print(url1)
            url2 = url1 + '.html'
            jpg_all = []
            headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36'}
            response = requests.get(url = url2,headers=headers)
            response = response.text
            l = re.findall('<FONT COLOR=red><B>1</B></FONT> <A HREF="([\s\S]*)</a> <A', response)
            for i in l:
                ur = re.findall('HREF="([\s\S]*?)">', i)
                ur =len(ur) + 2
                print('共%d页'%ur)

            r = re.findall('img alt=([\s\S]*?.jpg)',response)
            for each in r:
                jpg = re.findall('src="(/[\s\S]*?.jpg)',each)
                jpg = 'http://www.rentifq.com'+jpg[0]
                jpg_all.append(jpg)

            for i in range(ur+1):
                if i > 1:
                    url = url1 + '$' + str(i) + '.html'
                    response = requests.get(url=url, headers=headers)
                    response = response.text
                    r = re.findall('img alt=([\s\S]*?.jpg)', response)
                    for each in r:
                        jpg = re.findall('src="(/[\s\S]*?.jpg)', each)
                        jpg = 'http://www.rentifq.com' + jpg[0]
                        jpg_all.append(jpg)
            print(jpg_all)

            for i in jpg_all:
                print(i)
                filname = i.split('/'[-1][-1])
                img = open_url(i).content

                with open(str(filname[-2])+filname[-1],'wb') as f:
                    f.write(img)



最终版 懒动了  好像整个网页都可以爬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-18 21:26:11 | 显示全部楼层
好厉害呀,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-20 09:14:14 | 显示全部楼层
牛皮啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 04:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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