会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 133306个问题
Python 全系列/第十五阶段:Python 爬虫开发/动态数据抓取 691楼
Python 全系列/第十五阶段:Python 爬虫开发/爬虫基础 692楼
Python 全系列/第十五阶段:Python 爬虫开发/移动端爬虫 693楼

image.png

Python 全系列/第十五阶段:Python 爬虫开发/爬虫反反爬 694楼

老师,这是结果报的是NoneType: None,应该怎么办啊


2024-05-21 12:35:46 [scrapy.utils.log] INFO: Scrapy 2.11.2 started (bot: scrapy05)

2024-05-21 12:35:46 [scrapy.utils.log] INFO: Versions: lxml 5.2.2.0, libxml2 2.11.7, cssselect 1.2.0, parsel 1.9.1, w3lib 2.1.2, Twisted 24.3.0, Python 3.11.3 (tags/v3.11.3:f3909b8, Apr  4 2023, 23:49:59) [MSC v.1934 64 bit (AMD64)], pyOpenSSL 24.1.0 (OpenSSL 3.2.1 30 Jan 2024), cryptography 42.0.7, Platform Windows-10-10.0.22621-SP0

2024-05-21 12:35:46 [scrapy.addons] INFO: Enabled addons:

[]

2024-05-21 12:35:46 [asyncio] DEBUG: Using selector: SelectSelector

2024-05-21 12:35:46 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.asyncioreactor.AsyncioSelectorReactor

2024-05-21 12:35:46 [scrapy.utils.log] DEBUG: Using asyncio event loop: asyncio.windows_events._WindowsSelectorEventLoop

2024-05-21 12:35:46 [scrapy.extensions.telnet] INFO: Telnet Password: 9681eb48711cc975

2024-05-21 12:35:46 [scrapy.middleware] INFO: Enabled extensions:

['scrapy.extensions.corestats.CoreStats',

 'scrapy.extensions.telnet.TelnetConsole',

 'scrapy.extensions.logstats.LogStats']

2024-05-21 12:35:46 [scrapy.crawler] INFO: Overridden settings:

{'BOT_NAME': 'scrapy05',

 'FEED_EXPORT_ENCODING': 'utf-8',

 'NEWSPIDER_MODULE': 'scrapy05.spiders',

 'REQUEST_FINGERPRINTER_IMPLEMENTATION': '2.7',

 'SPIDER_MODULES': ['scrapy05.spiders'],

 'TWISTED_REACTOR': 'twisted.internet.asyncioreactor.AsyncioSelectorReactor',

 'USER_AGENT': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 '

               '(KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36'}

2024-05-21 12:35:46 [scrapy.middleware] INFO: Enabled downloader middlewares:

['scrapy.downloadermiddlewares.offsite.OffsiteMiddleware',

 'scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware',

 'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware',

 'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware',

 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware',

 'scrapy.downloadermiddlewares.retry.RetryMiddleware',

 'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware',

 'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware',

 'scrapy.downloadermiddlewares.redirect.RedirectMiddleware',

 'scrapy.downloadermiddlewares.cookies.CookiesMiddleware',

 'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware',

 'scrapy.downloadermiddlewares.stats.DownloaderStats']

2024-05-21 12:35:46 [scrapy.middleware] INFO: Enabled spider middlewares:

['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware',

 'scrapy.spidermiddlewares.referer.RefererMiddleware',

 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware',

 'scrapy.spidermiddlewares.depth.DepthMiddleware']

2024-05-21 12:35:46 [scrapy.middleware] INFO: Enabled item pipelines:

['scrapy.pipelines.images.ImagesPipeline']

2024-05-21 12:35:46 [scrapy.core.engine] INFO: Spider opened

2024-05-21 12:35:46 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)

2024-05-21 12:35:46 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023

2024-05-21 12:35:46 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://desk.zol.com.cn/bizhi/9812_118227_2.html> (referer: None)

2024-05-21 12:35:46 [scrapy.downloadermiddlewares.offsite] DEBUG: Filtered offsite request to 'desk-fd.zol-img.com.cn': <GET https://desk-fd.zol-img.com.cn/t_s960x600c5/g6/M00/0F/09/ChMkKWF4tn6IeIGwAD5r3l1JSDcAAU-5QFAFu4APmv2924.jpg>

2024-05-21 12:35:46 [scrapy.pipelines.media] ERROR: [Failure instance: Traceback: <class 'scrapy.pipelines.files.FileException'>:

D:\python_env\spider3_env\Lib\site-packages\twisted\internet\defer.py:536:addCallbacks      

D:\python_env\spider3_env\Lib\site-packages\twisted\internet\defer.py:1078:_runCallbacks    

D:\python_env\spider3_env\Lib\site-packages\scrapy\pipelines\media.py:197:_check_media_to_download

D:\python_env\spider3_env\Lib\site-packages\twisted\internet\defer.py:536:addCallbacks      

--- <exception caught here> ---

D:\python_env\spider3_env\Lib\site-packages\twisted\internet\defer.py:1078:_runCallbacks    

D:\python_env\spider3_env\Lib\site-packages\scrapy\pipelines\files.py:459:media_failed      

]

NoneType: None

2024-05-21 12:35:46 [scrapy.core.scraper] DEBUG: Scraped from <200 https://desk.zol.com.cn/bizhi/9812_118227_2.html>

{'image_urls': ['https://desk-fd.zol-img.com.cn/t_s960x600c5/g6/M00/0F/09/ChMkKWF4tn6IeIGwAD5r3l1JSDcAAU-5QFAFu4APmv2924.jpg'], 'images': []}

2024-05-21 12:35:46 [scrapy.core.engine] INFO: Closing spider (finished)

2024-05-21 12:35:46 [scrapy.statscollectors] INFO: Dumping Scrapy stats:

{'downloader/exception_count': 1,

 'downloader/exception_type_count/scrapy.exceptions.IgnoreRequest': 1,

 'downloader/request_bytes': 316,

 'downloader/request_count': 1,

 'downloader/request_method_count/GET': 1,

 'downloader/response_bytes': 9739,

 'downloader/response_count': 1,

 'downloader/response_status_count/200': 1,

 'elapsed_time_seconds': 0.367081,

 'finish_reason': 'finished',

 'finish_time': datetime.datetime(2024, 5, 21, 4, 35, 46, 984841, tzinfo=datetime.timezone.utc),

 'httpcompression/response_bytes': 33794,

 'httpcompression/response_count': 1,

 'item_scraped_count': 1,

 'log_count/DEBUG': 6,

 'log_count/ERROR': 1,

 'log_count/INFO': 10,

 'offsite/domains': 1,

 'offsite/filtered': 1,

 'response_received_count': 1,

 'scheduler/dequeued': 1,

 'scheduler/dequeued/memory': 1,

 'scheduler/enqueued': 1,

 'scheduler/enqueued/memory': 1,

 'start_time': datetime.datetime(2024, 5, 21, 4, 35, 46, 617760, tzinfo=datetime.timezone.utc)}

2024-05-21 12:35:46 [scrapy.core.engine] INFO: Spider closed (finished)

Python 全系列/第十五阶段:Python 爬虫开发/scrapy框架使用 695楼

from fake_useragent import UserAgent
import requests
from lxml import etree
from time import sleep

def get_html(url):
    #传递要爬取的地址
    #返回html
    headers= {"User-Agent":UserAgent().chrome}
    resp = requests.get(url,headers=headers)
    sleep(2)
    if resp.status_code == 200:
        return resp.text
    else:
        return None

def parse_list(html):
    #传递进来一个有电影列表的html
    #返回一个电影列表的url
    e = etree.HTML(html)
    list_url = ['https://maoyan.com/{}'.format(url) for url in e.xpath('//div[@class="movie-item-hover"]/a/@href')]
    return list_url

def pares_index(html):
    #传递进来一个有电影信息的html
    #返回已提取好的电影信息
    e = etree.HTML(html)
    name = e.xpath('//h1[@class="name"]/text()')
    type = e.xpath('//li[@class="ellipsis"]/a[1]/text()')
    actors = e.xpath('//li[@class="celebrity actor"]/div[@class="info"]/a/text()')
    actors = format_data(actors)
    return {"name":name,"type":type,"actors":actors}

#去重
def format_data(actors):
    actor_set = set()
    for actor in actors:
        actor_set.add(actor.strip())
    return actor_set

def main():
    num = int(input("请输入要获取多少页:"))
    for page in range(num):
        url = 'https://maoyan.com/films?showType=3&offset={}'.format(page*30)
        list_html = get_html(url)
        list_url = parse_list(list_html)
        for url in list_url:
            info_html = get_html(url)
            movie = pares_index(info_html)
            print(movie)

if __name__ == '__main__':
    main()

image.png

老师,我运行后出现如上报错,然后我尝试修改了一下代码如下。

image.png

但是执行后出来的效果如下图,求帮助。

image.png

Python 全系列/第十五阶段:Python 爬虫开发/爬虫反反爬- 697楼
Python 全系列/第十五阶段:Python 爬虫开发/docker 容器扩展(旧) 698楼
Python 全系列/第十五阶段:Python 爬虫开发/爬虫反反爬 699楼
Python 全系列/第十五阶段:Python 爬虫开发/移动端爬虫开发- 700楼
Python 全系列/第十五阶段:Python 爬虫开发/爬虫基础(旧) 701楼
Python 全系列/第十五阶段:Python 爬虫开发/爬虫反反爬 702楼
Python 全系列/第十五阶段:Python 爬虫开发/爬虫基础(旧) 703楼
Python 全系列/第十五阶段:Python 爬虫开发/爬虫反反爬 705楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637