跪求大神指点

跪求大神指点

课外提问,求大神指点

题目:利用Feapder框架,爬取http://www.cae.cn/cae/html/main/col48/column_48_1.html

工程院院士的信息

代码:

# -*- coding: utf-8 -*-

"""

Created on 2021-12-03 20:30:27

---------

@summary:

---------

@author: DELL

"""


import feapder

import time


Name = []

list_all = []  # 创建空列表,用于下面存储数据

urls = []

target2 = 'https://www.cae.cn'



def write(name, text):

    text_name = '文本1.txt'

    with open (text_name, 'a+', encoding='utf-8') as m:

        m.write(name +'\n')

        m.writelines(text.replace('&ensp', ' ').replace(';','').lstrip())

        m.write('\n\n')



class TargetSpider(feapder.AirSpider):

    def start_requests(self):  # 生产任务

        url = 'http://www.cae.cn/cae/html/main/col48/column_48_1.html'

        headers = {

            'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'

        }

        yield feapder.Request(url, headers=headers, render = True)


    def parse(self, request, response):  # 解释

        card_elements = response.xpath('li',class_ = 'name_list')

        for i in card_elements:

            Continue_card = i.xpath('a')

            global Name

            Name.append(Continue_card[0].string)  # 获取每个链接的名字

            global list_all

            for j in Continue_card:

                temp1 = j.xpath('href').extract_first()

                list_all.append(temp1)

        for k in list_all:

            temp2 = k.xpath('div', class_ = 'intro')

            temp3 = temp2.xpath('p')

            write(Name[k],temp3)


if __name__ == "__main__":

    TargetSpider().start()


下面是HTML的格式:

https://img1.sycdn.imooc.com//climg/61b1bcfb097221f406760243.jpg

https://img1.sycdn.imooc.com//climg/61b1bd1e09df4a5307380226.jpg

代码图片:

https://img1.sycdn.imooc.com//climg/61b1bd4b09aaab6a10920463.jpg

https://img1.sycdn.imooc.com//climg/61b1bd5d097ffced12700546.jpg

问题:编写的代码爬取的时候一直报错

求大神指点

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕凡 2021-12-09 16:54:37

同学,你好!

同学可以往后学一下使用课程中的爬虫模块进行爬取,祝学习愉快~

  • 提问者 渊鱼sky #1

    老师好,用Feapder爬取文本(必须用Feapder框架),写到.txt文件中还是报错,请老师指点

    https://img1.sycdn.imooc.com//climg/61b1edae0983ff3012480781.jpg

    下面是网页HTML代码

    https://img1.sycdn.imooc.com//climg/61b1ee400927303307390454.jpg

    https://img1.sycdn.imooc.com//climg/61b1ee7309d43a4508040538.jpg



    2021-12-09 19:55:00
  • 好帮手慕凡 回复 提问者 渊鱼sky #2

    同学,你好!

    老师对Feapder框架并不是很了解,抱歉解决不了同学的问题,同学可以提问课程中相关的问题,祝学习愉快~

    2021-12-10 09:43:34
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师