问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

...NoneType' object has no attribute 'group'

发布网友 发布时间:2024-10-21 14:29

我来回答

1个回答

热心网友 时间:2024-11-06 11:12

# coding=utf-8
import re
import sys
import time
 
import requests
from lxml import etree
 
import importlib
importlib.reload(sys)
 
#定义一个爬虫
class spider(object):
    def __init__(self):
        print('开始爬取内容。。。')
 
#getsource用来获取网页源代码
    def getsource(self,url):
        html = requests.get(url)
        return html.text
 
#changepage用来生产不同页数的链接
    def changepage(self,url,total_page):
        if re.search('index_(\d+)',url,re.S):
            now_page = int(re.search('index_(\d+)',url,re.S).group(1))   #可修改
        else:
            now_page = 0
        page_group = []
        for i in range(now_page,total_page+1):
            link = re.sub('index_\d+','index_%s'%i,url,re.S)       #可修改
            page_group.append(link)
        return page_group
 
#getpic用来爬取一个网页图片
    def getpic(self,source):
        selector = etree.HTML(source)
        pic_url = selector.xpath('//ul[@class="ali"]/li/div/a/img/@src')   #可修改
        return pic_url
 
#savepic用来保存结果到pic文件夹中
    def savepic(self,pic_url):
        picname=re.findall('(\d+)',link,re.S)    #可修改
        picnamestr = ''.join(picname)
        i=0
        for each in pic_url:
            print('now downloading:{}'.format(each)) 
            pic = requests.get(each)
            fp = open('pic\\'+picnamestr +'-'+str(i)+ '.jpg', 'wb')
            fp.write(pic.content)
            fp.close()
            i += 1
 
#ppic集合类的方法
    def ppic(self, link):
        print('正在处理页面:{}'.format(link))
        html = picspider.getsource(link)
        pic_url = picspider.getpic(html)
        picspider.savepic(pic_url)
 

if __name__ == '__main__':
    start = time.time()
    url = 'http://www.baidu.com/'   #可修改
    picspider = spider()
    all_links = picspider.changepage(url,3)     #可修改
    for link in all_links:
        picspider.ppic(link)
    end = time.time()
    print('耗时:{}'.format(start-end))

代码质量很一般,都懒得细看了,直接给你加了个if判断。

建议看看嵩天教授的爬虫课,那个水平高一点。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
平安e家保是什么险 2023年高级会计师报名时间和条件 2022高级会计师报考条件要求是什么? 问几个英文语法问题,希望能正确回答~ 女生锁骨下长痣,左右都有 不是很对称 寓意什么呐? 抖音上传照片音乐短怎么办 断夜奶好方法 婴儿断夜奶最佳方法 建设银行,你打算坑害多少优质客户? 【PS教程】如何做出凹陷字体效果的氛围海报 男猪女狗适合做夫妻吗 女狗配男猪的婚姻状况怎么样 如何将资料由电脑传到读书郎学习机P15上面.急需高手解答 读书郎p15点读机网站不能下载为何? 读书郎学习电脑p25 下载课本是在电脑里下载好传到学习机上的吗 读书郎p15教材下载科学教育出版社的语文 急,关于下载读书郎读书郎p15教材的问题,懂的人来! 商用房贷款是什么 电脑用久了该不该重装系统 重装系统会把我的游戏删掉吗 惠民保21重疾险值得买吗?可靠吗? 如果因为一个游戏程序而导致系统重装,那这个游戏在重装后还可能修复吗... 移动用外接USB无线上网卡上网和不插上网卡的WLAN:CMCC... 我要重装系统,又不想删除游戏,该怎么办啊 无线USB网卡 和无线路由器 有什么区别啊?` ...许多人为了逃避苦一阵子,却苦了一辈子。十? ...一辈子,但总会苦一阵子;许多人为了逃避苦一阵子,却苦了一辈子... 许多人为了逃避苦一阵子,却苦了一辈子 淘宝卖家星级评定顺序,什么情况? 淘宝卖家星级标准 怎么判断使用的纸巾是原生的还是废纸回收生产出来二次制造的纸浆? ...2022年最划算流量卡合集(最新爆款流量卡推荐) 魔兽真三。请高人指导一些非常实用的经验 手机维修需要发票吗? 真三怎么玩啊,我是女的,游戏一窍不通,都为了老公 2022年6月流量卡,高性价比,100GB流量,超强副卡选择 身体各部常见之肌筋膜疼痛 颈椎病容易被误诊为哪些疾病? ...印度旅行要注意什么,为什么女性不要独自去印度旅行? 昆明PVC塑胶地板工程 江苏无尘室装修公司 在老家缴的农保,现在户口在常州了,怎么拿养老金? 常州慢病农保怎么申请? ...现在转成常州社保了。到年龄怎样去办退休手续 常州户口怎样办理农保? 九院简介一 眼睛红红的而且眼球上有白点,看东西模糊,像是蒙了一层白雾。稍微眯着... 九江学院有哪些学院 冬天,戴眼镜的同学一进屋,眼睛上就会蒙上一层霜,怎么办? 九江学院是否有中文系? ...看不清东西,就像眼睛上蒙上一层雾,浑身麻木,这是否是狂犬病前兆...