进程已结束,退出代码为 -1073741571 (0xC00000FD)

来源:14-12 获取和解析详情页 - 1

李_冉

2021-09-09

老师,我自己爬了一个网站。

import requests,re,ast
from myspider.models import Topic
from scrapy import Selector
from urllib import parse
from datetime import datetime
import sys  # 导入sys模块
sys.setrecursionlimit(3000)  # 将默认的递归深度修改为3000
all_url=[]
o_url=[]
domain='http://www.jcut.edu.cn/index/'
def get():

    reu=requests.get('http://www.jcut.edu.cn/index/xxxw.htm')
    reu.encoding='UTF-8-SIG'
    sel=Selector(text=reu.text)
    menu=sel.xpath("//div[@class='mobile-inner-nav']/ul/li[1]/dl/dd/a/@href").extract()
    if menu:
        return menu
    return []
def get_list(lish):
    for item in lish:
        all_url.append(parse.urljoin(domain,item))
def parse_list(url):
    ru = requests.get(url)
    ru.encoding='UTF-8-SIG'
    sel = Selector(text=ru.text)
    hu=sel.xpath('//div[@class="m-list3"]/ul/li/div[2]')
    ji=0
    for item in hu:
        topic=Topic()
        if item.xpath('//h3/a/@href').extract()[0]:
            p=item.xpath('//h3/a/@href').extract()
            o_url.append(parse.urljoin(url,p[ji]))
            topic_id=parse.urljoin(url,p[ji])
            topic.topicid=topic_id
        if item.xpath('//h3/a/text()').extract():
            topic_title=item.xpath('//h3/a/text()').extract()[ji]
            topic.title=topic_title
        if item.xpath('//div/span/text()').extract():
            create_time=item.xpath('//div/span/text()').extract()[ji]
            topic.create_time=create_time
        if item.xpath('//p/text()').extract()[0]:
            content_one=item.xpath('//p/text()').extract()[6:]
            topic.content_one=content_one[ji]
        topic.save(force_insert=True)
        ji+=1
    uio = sel.xpath('//span[@class="p_next p_fun"]/a/@href').extract()
    if uio:
        next_url=parse.urljoin(url,uio[0])
        parse_list(next_url)
def parse_content(url):
    rei=requests.get(url)
    rei.encoding='UTF-8-SIG'
    sel=Selector(text=rei.text)
    contento=sel.xpath('//div[@class="v_news_content"]')
    ju=0
    for item in contento:
        topic=Topic()
        if item.xpath('//p/span/text()'):
            uy=item.xpath('//p/span/text()')
            topic.content_two=uy
    next=sel.xpath('//div[@class="sxt"]/p[2]/a/@href').extract()
    if next:
        next_url=parse.urljoin(url,next[0])
        parse_content(next_url)
if __name__=='__main__':
    first=get()
    get_list(first)
    for item in all_url:
        parse_list(item)
    for item in o_url:
        parse_content(item)

但却发现结尾报错:
进程已结束,退出代码为 -1073741571 (0xC00000FD)
这是什么情况

写回答

2回答

bobby

2021-09-13

你这个代码我运行了没有问题。只是插入数据的时候会因为主键冲突而失败,因为你的id也不设置,同时又是主键,所以第二个数据就无法插入了

0
1
李_冉
好的,谢谢
2021-09-13
共1条回复

bobby

2021-09-10

你把

Topic

的源码也贴上把 方便我运行

0
1
李_冉
from peewee import * db = MySQLDatabase('spider_two',host='127.0.0.1',user='root',password='123456') class Base(Model): class Meta: database = db class Topic(Base): id=IntegerField(primary_key=True,default='') topicid = TextField() title=CharField() content_one=TextField(default='') content_two = TextField(default='') create_time=CharField() if __name__=='__main__': db.create_tables([Topic])
2021-09-10
共1条回复

Python爬虫工程师实战 大数据时代必备

慕课网严选精品教程,高质量内容+服务!

2377 学习 · 1158 问题

查看课程