美文网首页
妹子图爬虫代码调试(未解决)

妹子图爬虫代码调试(未解决)

作者: 冰镇果汁加点糖 | 来源:发表于2018-06-25 16:54 被阅读0次

    2018-06-25 调试爬虫代码

    import requests  ##导入requests
    from bs4 import BeautifulSoup  ##导入bs4中的BeautifulSoup
    import os
    
    headers = {'User-Agent': "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1"}  ##浏览器请求头(大部分网站没有这个请求头会报错、请务必加上哦)
    all_url = 'http://www.meizitu.com/'
    start_html = requests.get(all_url, headers=headers)
    soup = BeautifulSoup(start_html.text, 'lxml') 
    all_a = soup.find(id='maincontent').find_all('a')
    for a in all_a:
        title = a.get_text()
        href = a['href']
        print(title,href)
        html = requests.get(href, headers=headers) 
        html_Soup = BeautifulSoup(html.text, 'html.parser') 
        max_span = html_Soup.find(id='maincontent')
        print(type(max_span))
    

    帮助调试这段爬虫代码报错问题

    错误.png
    这里的问题是对链接列表all_a的第一个a请求会返回一个NoneType

    安装需要的库
    pip3 install beautifulsoup4
    pip3 install lxml
    然后开始debug

    1. 最初认为是该url对应的页面不包含‘maincontent’,但是在浏览器中打开该URL用开发者工具检查发现并不是。
    2. 同时,很快发现第一次请求的url和第二次请求的url是相同的!但第一次返回为NoneType,第二次返回正常。
    3. 有切片截取all_a列表中其他部分然后开始爬取(for a in all_a[3:7]:),错误依旧。

    此时,判断可能是页面需要先作一个Cache,或者是这个一个ajax异步请求,先返回了不包含目标内容的response

    暂时未解决

    相关文章

      网友评论

          本文标题:妹子图爬虫代码调试(未解决)

          本文链接:https://www.haomeiwen.com/subject/uosyyftx.html